UIAlertControlle在iPad崩溃

当设置UIAlertControllerStyleAlert样式的时候iPad和iPhone都可以执行,当设置UIAlertControllerStyleActionSheet的时候,iPad就会崩溃,因此如果是在iPad上运行是需要设置挂靠,并且通过设置类型判断为iPad通过UIPopoverPresentationController弹出视图:

alertController.popoverPresentationController.sourceRect = _installationButton.bounds;

UIPopoverPresentationController *popover = alertController.popoverPresentationController;

if (popover){

popover.sourceView = sender;

popover.sourceRect = sender.bounds;

popover.permittedArrowDirections = UIPopoverArrowDirectionAny;

}

我这里就没有写出来判断是否为ipad运行了,因为我发现就这样设置,在iPhone上运行UIAlertControlle没有变化,在iPad上运行程序也设置了挂靠且不会奔溃,不过我推荐还是写一下判断。请参考www.jianshu.com/p/83f97b5246ff

还有我这里设置的挂靠控件是_installationButton这个按钮。那么UIAlertControlle再iPad上出现的位置则将是_installationButton的四周。如:左、上、右空间不够,那么UIAlertControlle就会出现在_installationButton按钮下方。


注:这些都是开发时查找到的资料和自己的一些总结,如果看到到相关资料或者继续有其他的总结,也会继续更新。

你可能感兴趣的:(UIAlertControlle在iPad崩溃)