xcode – Swift-设置可见菜单控制器
发布时间:2020-12-14 18:58:17 所属栏目:百科 来源:网络整理
导读:我正在尝试显示UimenuController,但我无法查看它.我能怎么做? let MenuController: UIMenuController = UIMenuController.sharedMenuController() MenuController.menuVisible = true MenuController.arrowDirection = UIMenuControllerArrowDirection.Down
我正在尝试显示UimenuController,但我无法查看它.我能怎么做?
let MenuController: UIMenuController = UIMenuController.sharedMenuController() MenuController.menuVisible = true MenuController.arrowDirection = UIMenuControllerArrowDirection.Down MenuController.setTargetRect(CGRectMake(100,80,50,50),inView: self.view) let MenuItem_1: UIMenuItem = UIMenuItem(title: "Menu",action: "delete:") let MenuItems: NSArray = [delete] MenuController.menuItems = MenuItems 解决方法
为了实际显示菜单,您需要执行以下操作:
>在获得sharedMenuController之前调用becomeFirstResponder() 这是一个例子 func someFunc() { becomeFirstResponder() var menu = UIMenuController.sharedMenuController() var deleteItem = UIMenuItem(title: "Delete me",action: Selector("deleteLine")) menu.menuItems = [deleteItem] menu.setTargetRect(CGRectMake(100,inView: self) menu.setMenuVisible(true,animated: true) } func deleteLine() { //Do something here } override func canBecomeFirstResponder() -> Bool { return true } override func canPerformAction(action: Selector,withSender sender: AnyObject?) -> Bool { // You need to only return true for the actions you want,otherwise you get the whole range of // iOS actions. You can see this by just removing the if statement here. if action == Selector("deleteLine") { return true } return false } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |