概述
Alertcontrolle 如何设置在ipad上支持(需要设置部分东西,不然是ipad不支持的,导致应用程序崩溃)。
错误原因:
在页面中设置了actionSheet类型的Alert,在iPhone环境可以正常显示,如下。但是在iPad环境下会报以上错误。原因是iPad上的actionSheet样式会直接转换为popover样式,如果不提前设置好popover样式的话,iPad就不知道如何显示,进而报错
错误源码:
let optionMenu = UIAlertController(title:nil, message:"请设置头像", preferredStyle:.actionSheet)
let getPictureFromLibraryButton =UIAlertAction(title:"打开图库", style:.default, handler:nil )
let cancelButton = UIAlertAction(title:"取消", style: .cancel,handler:nil)
optionMenu.addAction(getPictureFromLibraryButton)
optionMenu.addAction(cancelButton)
self.present(optionMenu,animated:true, completion:nil)
修正源码:
方法一:
let optionMenu = UIAlertController(title: nil,message: "请设置头像", preferredStyle:.actionSheet)
let getPictureFromLibraryButton =UIAlertAction(title: "打开图库", style:.default, handler: nil )
let cancelButton = UIAlertAction(title: "取消", style: .cancel, handler: nil)
optionMenu.addAction(getPictureFromLibraryButton)
optionMenu.addAction(cancelButton)
// support iPad
optionMenu.popoverPresentationController?.sourceView= self.view
optionMenu.popoverPresentationController?.sourceRect= (tableView.cellForRow(at: indexPath)?.frame)!
self.present(optionMenu, animated: true,completion: nil)
最后
以上就是大力茉莉为你收集整理的Alertcontroller(actionSheet)不支持ipad解决办法的全部内容,希望文章能够帮你解决Alertcontroller(actionSheet)不支持ipad解决办法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复