应用程序尝试以模态方式呈现活动控制器
我正在尝试创建自定义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 :(得分:1)
您正试图在show
方法中显示错误的控制器。
变化:
UIApplication.shared.keyWindow?.rootViewController?.present(vc, animated: true, completion: nil)
为:
vc.present(self, animated: true, completion: nil)