Ios 自定义UIMenuController使用按钮事件错误只能有一个UIMenuController实例

Ios 自定义UIMenuController使用按钮事件错误只能有一个UIMenuController实例,ios,swift,uibutton,copy-paste,uimenucontroller,Ios,Swift,Uibutton,Copy Paste,Uimenucontroller,我创建了一个按钮,当您按住该按钮时,它将显示用于粘贴文本的标准ios菜单按钮,但我得到一个错误,即只能有一个UIMenuController实例。当我按住该按钮两次时,如何修复此问题 这是我的密码 override init(帧:CGRect){ super.init(frame:frame) self.configureView() } 必需初始化?(编码器:NSCoder){ super.init(编码器:编码器) self.configureView() } 私有函数配置视图(){ gua

我创建了一个按钮,当您按住该按钮时,它将显示用于粘贴文本的标准ios菜单按钮,但我得到一个错误,即
只能有一个UIMenuController实例。
当我按住该按钮两次时,如何修复此问题

这是我的密码

override init(帧:CGRect){
super.init(frame:frame)
self.configureView()
}
必需初始化?(编码器:NSCoder){
super.init(编码器:编码器)
self.configureView()
}
私有函数配置视图(){
guard let view=self.loadViewFromNib(nibName:“CustomView”)else{return}
view.frame=self.bounds
self.addSubview(视图)
button.addTarget(自身,操作:#选择器(保持按钮),用于:。着陆)
}
@objc func holdButton(\发送方:UIButton){
让menuController=UIMenuController()
menuController.setTargetRect(sender.frame,in:charTextField)
menuController.setMenuVisible(真,动画:真)
}
另外,当用户单击粘贴按钮时,我如何倾听用户的声音

我希望它在单击粘贴时调用此函数

func粘贴单击(){
打印(“粘贴”,剪贴板字符串())
}

使用
UIMenuController
提供的默认单例实例(
.shared
),而不是创建自己的实例

@objc func holdButton(_ sender: UIButton) {
    UIMenuController.shared.setTargetRect(sender.frame, in: charTextField)
    UIMenuController.shared.setMenuVisible(true, animated: true)
}
引述自:

singleton UIMenuController实例称为编辑 菜单