具有自定义视图的UIBarButtonItemGroup.representativeItem

时间:2019-07-01 11:22:04

标签: ios swift uibarbuttonitem

我正在创建一组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作为自定义视图,但这也不起作用。

0 个答案:

没有答案