當(dāng)設(shè)置UIAlertControllerStyleAlert樣式的時(shí)候iPad和iPhone都可以執(zhí)行披摄,當(dāng)設(shè)置UIAlertControllerStyleActionSheet的時(shí)候亲雪,iPad就會(huì)崩潰,因此如果是在iPad上運(yùn)行是需要設(shè)置掛靠疚膊,并且通過(guò)設(shè)置類(lèi)型判斷為iPad通過(guò)UIPopoverPresentationController彈出視圖:
alertController.popoverPresentationController.sourceRect = _installationButton.bounds;
UIPopoverPresentationController *popover = alertController.popoverPresentationController;
if (popover){
popover.sourceView = sender;
popover.sourceRect = sender.bounds;
popover.permittedArrowDirections = UIPopoverArrowDirectionAny;
}
我這里就沒(méi)有寫(xiě)出來(lái)判斷是否為ipad運(yùn)行了义辕,因?yàn)槲野l(fā)現(xiàn)就這樣設(shè)置,在iPhone上運(yùn)行UIAlertControlle沒(méi)有變化寓盗,在iPad上運(yùn)行程序也設(shè)置了掛靠且不會(huì)奔潰灌砖,不過(guò)我推薦還是寫(xiě)一下判斷。請(qǐng)參考www.reibang.com/p/83f97b5246ff
還有我這里設(shè)置的掛靠控件是_installationButton這個(gè)按鈕傀蚌。那么UIAlertControlle再iPad上出現(xiàn)的位置則將是_installationButton的四周基显。如:左、上善炫、右空間不夠撩幽,那么UIAlertControlle就會(huì)出現(xiàn)在_installationButton按鈕下方。
注:這些都是開(kāi)發(fā)時(shí)查找到的資料和自己的一些總結(jié)箩艺,如果看到到相關(guān)資料或者繼續(xù)有其他的總結(jié)摸航,也會(huì)繼續(xù)更新制跟。