2016-02-16 2 views
0

У меня есть UIWindow, который я использую для отображения второго UIWindow, где rootViewController представляет UIAlertController. Когда я увольняю UIAlertController, главное окно не отвечает, и я не знаю, почему. Вот моя реализация:Отклонение UIAlertController от UIWindow в UIWindow

func buttonPressed() { 

     var window = UIWindow(frame: UIScreen.mainScreen().bounds) 

     let alert = UIAlertController(title: "Add a comment to your post?", message: "You can also tag your friends.", preferredStyle: UIAlertControllerStyle.Alert) 

     let cancel = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: { (action) -> Void in 

      // this isn't working 
      window.rootViewController?.dismissViewControllerAnimated(true, completion: nil) 
      window.removeFromSuperview() 



     }) 

     let ok = UIAlertAction(title: "Yes", style: UIAlertActionStyle.Default, handler: { (action) -> Void in 

      // do something 

     }) 

     alert.addAction(ok) 
     alert.addAction(cancel) 
     alert.addTextFieldWithConfigurationHandler({(txtField: UITextField) in 
      txtField.placeholder = "What's on your mind?" 
      txtField.keyboardType = UIKeyboardType.Default 
      txtField.autocapitalizationType = .None 
     }) 



     window.rootViewController = UIViewController() 
     window.backgroundColor = UIColor.clearColor() 
     window.makeKeyAndVisible() 
     window.rootViewController?.presentViewController(alert, animated: true, completion: nil) 
     self.addSubview(window) 

     self.repostButton.setTitle("Pressed!", forState: UIControlState.Normal) 

    } 

ответ

0

Получил это. Просто позвонил window.hidden = true в обработчик завершения отмены. Думаю, я просто задумался над этим. :)

Смежные вопросы