gpt4 book ai didi

ios - Swift 将箭头和 sourceView 添加到 UIAlertController

转载 作者:行者123 更新时间:2023-11-30 13:08:48 25 4
gpt4 key购买 nike

我有一个 UIAlertController,我试图向它添加一个箭头并将 sourceView 更改为 self.button,以便它不会出现在底部。

这是我到目前为止得到的:

let dropdown = UIAlertController(title: "Select Room", message: nil, preferredStyle: .ActionSheet)

let kitchen = UIAlertAction(title: "Kitchen", style: .Default) { (action) in
}
dropdown.addAction(kitchen)

let livingRoom = UIAlertAction(title: "Living Room", style: .Default) { (action) in
}
dropdown.addAction(livingRoom)

let bedroom = UIAlertAction(title: "Bedroom", style: .Default) { (action) in
}
dropdown.addAction(bedroom)

let bathroom = UIAlertAction(title: "Bathroom", style: .Default) { (action) in
}
dropdown.addAction(bathroom)

let cancel = UIAlertAction(title: "Cancel", style: .Cancel) { (action) in
}
dropdown.addAction(cancel)

dropdown.modalPresentationStyle = .Popover

dropdown.popoverPresentationController?.sourceRect = self.dropdownButton.frame
dropdown.popoverPresentationController?.sourceView = self.dropdownButton
dropdown.popoverPresentationController?.permittedArrowDirections = .Up

self.presentViewController(dropdown, animated: true, completion: nil)

但是箭头没有出现,UIAlertController 仍然出现在底部。我做错了什么?

最佳答案

popoverPresentationController(及其设置)旨在由 presentationStyleUIModalPresentationPopoverUIViewController 使用。

虽然UIAlertControllerUIViewController的子类,但它很特殊,并且使用UIModalPresentationCustom,因为它是presentationStyle。设置新的 presentationStyle 的尝试将被忽略。

我不认为您尝试做的事情是 UIAlertController 的预期用途。您最好的选择是制作自己的 View Controller 来实现此目的。

关于ios - Swift 将箭头和 sourceView 添加到 UIAlertController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38979373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com