gpt4 book ai didi

ios - 从 UIViewController 显示 UIView 作为上下文菜单预览

转载 作者:行者123 更新时间:2023-12-01 22:09:21 26 4
gpt4 key购买 nike

我正在尝试使用 iOS 13 和新的 UIContextMenu API,当尝试使用上下文菜单预览时,我想显示一张相对于被按下的 UITableRow 的小卡片。我在我的 Storyboard中创建了一个 UIViewController,其中包含一个包含信息卡本身的 UIView(我制作了 UIView,以便我可以通过约束轻松更改其大小)。我尝试只通过这样做来显示它

@IBOutlet var infoCard = UIView!
override func loadView(){
super.loadView()
view = infoCard
preferredContentSize = infoCard.bounds.size
}

但是,当显示上下文菜单时,我看到了 View ,但卡片上方和下方都有黑色矩形,因为预览的比例没有改变。

如何以其他比率显示此信息卡?谢谢!

最佳答案

我终于设法做对了,我遇到的问题是 infoCard.bounds 会返回 Storyboard 值,但我的 View 具有动态大小,并且 Swift 在绘制框架之前不会尝试重新计算可见高度/宽度。当 UIViewController 显示在上下文菜单预览中时,以下代码可以在 UIViewController 中呈现 UIView:

// All this is inside the view controller, with cardView being the displayed view
loadViewIfNeeded()
updateViewConstraints()

// This will force Swift to recalculate the view's size
cardView.drawHierarchy(in: cardView.bounds, afterScreenUpdates: true)

view = cardView
preferredContentSize = cardView.bounds.size

关于ios - 从 UIViewController 显示 UIView 作为上下文菜单预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58675244/

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