我正在创建一组UIBarButtonItems
,应该使用textview的inputAssistantItem
显示在iPad上的键盘上方。
UIBarButtonItemGroup
的代表项是具有自定义视图的UIBarButtonItem
。使用自定义视图时,用户点击代表项不会发生任何事情。
根据Apple的文档:
代表性项目中的提示会调用该项目的操作方法。什么时候 您未指定操作方法,UIKit会自动显示 使用标准界面在组中添加项目。
我已经确保UIBarButtonItem
没有设置任何动作或目标,但这似乎无关紧要-点击代表项目时,不会显示我的UIBarButtonItem
子菜单。
如果我使用“常规” UIBarButtonItem
作为代表商品,那么一切都会按预期进行。
var items = [UIBarButtonItem]()
for button in self.buttons {
items.append(button)
items.append(UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil))
}
let customView = UILabel()
customView.text = "Testing"
let representativeItem = UIBarButtonItem(customView: customView)
representativeItem.target = nil
representativeItem.action = nil
textView.inputAssistantItem.trailingBarButtonGroups = [ UIBarButtonItemGroup(barButtonItems: items, representativeItem: representativeItem)]
请注意,上面代码中的customView只是一个示例。我真正的自定义视图更复杂,有自己的子视图。
我也尝试过使用UIButton
作为自定义视图,但这也不起作用。