2017-04-07 61 views
1

應用試圖把模態啓動控制定製UIAlertController - 應用程序試圖把模態啓動控制

我試圖創建自定義UIAlertController。 因此來自不同的地方將更容易合作。 但我得到這個錯誤:

終止應用程序由於未捕獲的異常「NSInvalidArgumentException」,理由是:「應用程序試圖把模態啓動控制

class CustomAlert: UIAlertController, UIImagePickerControllerDelegate, UINavigationControllerDelegate { 

    private static var sheet : UIAlertController = UIAlertController() 
    static let instance = CustomAlert() 

    func create(title: String, message: String) -> CustomAlert { 
     CustomAlert.sheet = UIAlertController(title: title, message: message, preferredStyle: .actionSheet) 
     return self 
    } 

    func addlibrary() -> CustomAlert{ 
     let libraryAction = UIAlertAction(title: "library", style: .default, handler: nil) 
     CustomAlert.sheet.addAction(libraryAction) 
     return self 
    } 

    func show(on vc : UIViewController){ 
      UIApplication.shared.keyWindow?.rootViewController?.present(vc, animated: true, completion: nil) 

    } 
} 

問題出在哪裏? 謝謝

回答

0

您試圖在show方法中顯示錯誤的控制器。

變化:

UIApplication.shared.keyWindow?.rootViewController?.present(vc, animated: true, completion: nil) 

到:

vc.present(self, animated: true, completion: nil) 
相關問題