Swift 从按钮的位置弹框选择
时间: 2023-07-21 19:17:12 浏览: 162
点击按钮弹出框选择
您可以使用 UIAlertController 和 UIAlertAction 来在 Swift 中从按钮位置弹出选择框。以下是一个示例代码:
```swift
let alertController = UIAlertController(title: "请选择", message: nil, preferredStyle: .actionSheet)
let option1 = UIAlertAction(title: "选项1", style: .default) { (action) in
// 选项1被点击后执行的代码
}
let option2 = UIAlertAction(title: "选项2", style: .default) { (action) in
// 选项2被点击后执行的代码
}
let cancel = UIAlertAction(title: "取消", style: .cancel, handler: nil)
alertController.addAction(option1)
alertController.addAction(option2)
alertController.addAction(cancel)
// 获取按钮位置
let buttonFrame = sender.frame
// 显示选择框
if let popoverController = alertController.popoverPresentationController {
popoverController.sourceView = self.view
popoverController.sourceRect = CGRect(x: buttonFrame.origin.x, y: buttonFrame.origin.y + buttonFrame.height, width: 0, height: 0)
popoverController.permittedArrowDirections = [.down]
}
self.present(alertController, animated: true, completion: nil)
```
在上述代码中,sender 是触发弹出选择框的按钮。alertController.popoverPresentationController 可以用来设置选择框的位置和箭头方向。在这个例子中,选择框会在按钮的下方弹出,箭头指向下方。
阅读全文