gpt4 book ai didi

ios - UIMenuController 在 iOS 13.2 中不可见

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

我有显示 UIMenuController 的长按处理程序,它在 < ios13.2 上照常工作,例如在 13.1 上它工作正常,但在 ios13.2 上它没有显示,这是我的方法有:

private func longPressHandler(sender: UILongPressGestureRecognizer) {
guard
sender.state == .began,
let senderView = sender.view,
let superView = sender.view?.superview
else {
return
}

senderView.becomeFirstResponder()

UIMenuController.shared.setTargetRect(senderView.frame, in: superView)
UIMenuController.shared.setMenuVisible(true, animated: true)
}

private func makeMenuController() {
UIMenuController.shared.menuItems = [
UIMenuItem(title: "ui.report".localized, action: ChatCustomMenuItems.report),
UIMenuItem(title: "ui.chat.reply".localized, action: ChatCustomMenuItems.reply),
UIMenuItem(title: "ui.action.block".localized, action: ChatCustomMenuItems.block)
]
}

在文档中我发现 setTargetRect 和 setMenuVisible 已被弃用 enter image description here

这样改,还是没有用。有什么解决办法吗?

if #available(iOS 13.0, *) {
UIMenuController.shared.isMenuVisible = true
UIMenuController.shared.showMenu(from: superView, rect: senderView.frame)
} else {
UIMenuController.shared.setTargetRect(senderView.frame, in: superView)
UIMenuController.shared.setMenuVisible(true, animated: true)
}

最佳答案

我遇到了完全一样的问题!问题可能是没有调用导致的

window?.makeKeyAndVisible()

或在 application:didFinishLaunchingWithOptions: 方法之前调用它

关于ios - UIMenuController 在 iOS 13.2 中不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59176844/

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