微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我的自定义菜单项出现在某些系统菜单项之前?

如何解决为什么我的自定义菜单项出现在某些系统菜单项之前?

苹果说:

"认值为 nil(无自定义菜单项)。每个菜单项都是一个 UIMenuItem 类的实例。您可以创建自己的菜单项, 每个都有自己的标题和动作选择器,并将它们添加到 通过此属性编辑菜单自定义项目出现在菜单中 在任何系统菜单项之后。”

但这是马特的诺伊堡的例子:

@nonobjc fileprivate let capital = #selector(Cell.capital)
@nonobjc fileprivate let copy = #selector(UIResponderStandardEditactions.copy)

override func collectionView(_ collectionView: UICollectionView,shouldShowMenuForItemAt indexPath: IndexPath) -> Bool {
    
    let mi = UIMenuItem(title:"Capital",action:capital)
    UIMenuController.shared.menuItems = [mi]
    return true
}

override func collectionView(_ collectionView: UICollectionView,canPerformAction action: Selector,forItemAt indexPath: IndexPath,withSender sender: Any?) -> Bool {
    return  (action != copy) || (action == capital)
}

override func collectionView(_ collectionView: UICollectionView,performAction action: Selector,withSender sender: Any?) {
    // in real life,would do something here
    let state = self.sections[indexPath.section].itemData[indexPath.row]
    if action == copy {
        print ("copying \(state)")
    }
    else if action == capital {
        print ("fetching the capital of \(state)")
    }
 
  }

enter image description here

}

如果自定义项出现在任何系统菜单项之后的菜单中,为什么会发生这种情况?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。