我正在尝试在视图上显示ios复制按钮并处理自定义函数的单击。我尝试使用此代码显示按钮,但没有任何内容出现。
let menu = UIMenuController.shared
if !menu.isMenuVisible {
menu.setTargetRect(paragraphTableViewCell.bounds, in: paragraphTableViewCell)
menu.setMenuVisible(true, animated: true)
}
编辑:
我收到了这个错误
答案 0 :(得分:0)
您需要在课堂上致电 canBecomeFirstResponder 。
并覆盖 canPerformAction ,然后将相应的选项添加为 UIMenuItem
func canBecomeFirstResponder() -> Bool {
return true
}
override func canPerformAction(_ action: Selector, withSender sender: Any) -> Bool {
if action == #selector(self.cut) {
return false
}
else if action == #selector(self.copy) {
return true
}
else if action == #selector(self.paste) {
return false
}
else if action == #selector(self.select) || action == #selector(self.selectAll) {
return true
}
else {
return super.canPerformAction(action, withSender: sender)
}
}
override func copy(_ sender: Any?) {
}
最后你应该传递 UIView 对象
menu.setTargetRect(paragraphTableViewCell.bounds, in: paragraphTableViewCell.contentView)
因为需要
- (void)setTargetRect:(CGRect)targetRect inView:(UIView *)targetView;