gpt4 book ai didi

ios - 表格 View 单元格内的弹出窗口位置和箭头

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

如何更改箭头指向的位置以及表格 View 单元格内弹出框的位置?

这是我到目前为止所拥有的

    else if segue.identifier == "openingHours" {
let vc = segue.destinationViewController
vc.preferredContentSize = CGSize(width: 200, height: 100)
let controller = vc.popoverPresentationController
if controller != nil {
controller?.delegate = self
}

}

正如您所看到的,弹出窗口出现在单元格的顶角。我希望弹出窗口出现在包含文本“从下方箭头”的蓝色 View 下方,且箭头指向 View Image

最佳答案

这有点太晚了。但如果其他人偶然发现这个问题:

解决方案

它基于以编程方式设置 UIPopoverController 的 anchor 。如果您使用 Storyboard,您仍然需要将其分配给 Storyboard中的某些内容(例如“ View ”),但代码将覆盖该选择。

这可以通过将以下内容应用到您的 prepare(for: sender:) 并添加 UIPopoverController 应锚定到发件人中的所需 View 来非常简单地执行performSegue(withIdentifier: , sender:) 的参数

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

else if segue.identifier == "openingHours" {
let vc = segue.destinationViewController

vc.preferredContentSize = CGSize(width: 200, height: 100)
vc?.popoverPresentationController?.delegate = self
// Remember to pass in the cell or whatever view you want it to be anchored to in performSegue(withIdentifier: "YourSegueID", sender: tableViewCell)
if let anchorView = sender as? UIView {
vc?.popoverPresentationController?.sourceView = anchorView
}
// If you want to anchor it to a UIBarButtonItem (in a nav bar for example use this), remove the code bellow if you are using a view:
else if let anchorView = sender as? UIBarButtonItem {
vc?.popoverPresentationController?.barButtonItem = anchorView
}


}
}

关于ios - 表格 View 单元格内的弹出窗口位置和箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36187869/

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