2016-03-22 26 views
1

gibi uygulamada her yerde pop-up göster Benim tüm app genelinde bazı mesaj göstermek için bir popup sınıf var. Sonra ne zaman istersem açılan görünümünü göstermek bir örneğini init ve şu anda görünen kumandanın bir çocuk olarak eklemek zorunda:UIAlertController

func popMessage() { 
    let popup = MyPopup() 
    self.addChildViewController(popup) 
    self.view.addSubView(popup.view) 
    popup.didMoveToParentViewController(self) 

    popup.show() 
} 

Bazen geçerli görünüm kontrolörü UINavigationController veya UITabBarController gömülür. Açılış görünümümün gezinme çubuğu veya sekme çubuğu tarafından kırpılmadan tüm ekran boyutunda gösterilmesi durumunda, onu gezinme denetleyicisinin veya sekme çubuğu denetleyicisinin alt öğesi olarak eklemeliyim. Denetleyici hiyerarşisini değiştirmeye karar verdiğimde can sıkıcı oluyor.

nasıl daha kolay bir UIAlertViewController kullanmak gibi yapabilirsiniz :

let popup = MyPopup() 
popup.show() 
or 
self.presentViewController(popup) 

yerde Pop ve açılan olmalıdır hangi ebeveyn görünümü denetleyicisi gözetmeksizin ekranda tek odak yapmak?

cevap

2

Pop-up pencerenizi uygulama penceresinin root view denetleyicisine sunabilirsiniz.

let popUp = MyPopup() 
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate 
let appWindow = appDelegate.window 
var topViewController = window?.rootViewController 

    while topViewController?.presentedViewController != nil 
    { 
     topViewController = topViewController?.presentedViewController 
    } 

topViewController.presentViewController(popUp, animated: true, completion: nil) 
+0

Bu yardımcı olur! Ve eğer 'UIView.animateWithDuration' kullanarak onu modaya sunmaktan çok animasyon yapmak istiyorsam ne yapmalıyım? Çocuk görünümü denetleyicisi olarak açılır pencere, kendi görünümünü canlandırmanın tek yolu mı? – bluenowhere

+1

Özel animasyon ile şimdiki görünümü arıyorsanız ... http://stackoverflow.com/questions/19931710/how-to-custom-modal-view-controller-presenting-animation – raki

İlgili konular