如何解决为什么我的自定义菜单项出现在某些系统菜单项之前?
苹果说:
"默认值为 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)")
}
}
如果自定义项出现在任何系统菜单项之后的菜单中,为什么会发生这种情况?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。