var toolBar: UIToolbar!
let nextBarButton = UIBarButtonItem(title: "Next", style: .Plain, target: self, action: "nextButtonPressed")
self.toolBar.setItems([nextBarButton], animated: true)
如何在ToolBar中隐藏nextButton? 我使用了以下代码,但它没有用。
self.toolbar.items.indexOf(1).hidden = true
答案 0 :(得分:3)
这个答案的灵感来自this answer.
我会改进它并以编程方式完成所有工作。无需更新/设置UIBarButtonItem
实例的类以再次使用新的子类。
我们只需将isHidden
属性添加到UIBarButtonItem
即可。然后根据需要使用它。
extension UIBarButtonItem {
var isHidden: Bool = false {
didSet {
isEnabled = !isHidden
tintColor = isHidden ? UIColor.clear : UIColor.black
}
}
}
在您的情况下,添加扩展名(在任何类之外)。您可以将其用作:
self.toolbar.items.indexOf(1).isHidden = true
答案 1 :(得分:1)
看起来它是一个“下一个”按钮,当没有任何东西要移动到下一个按钮时,标准的处理方法是简单地禁用它:
nextBarButton.enabled = NO;
图标也会自动显示为灰色。
答案 2 :(得分:0)
UIBarButton没有"隐藏"财产让你无法隐藏。你可以删除它。由于工具栏上只有一个按钮,因此您可以清除工具栏上的所有项目。
toolBar.setItems([], animated: true)
如果要删除特定项目,可以使用索引。
var items = toolBar.items
items?.removeAtIndex(0)
toolBar.setItems(items, animated: true)
答案 3 :(得分:0)
您可以添加简单的功能,用于隐藏状态
extension UIBarButtonItem {
func set(hide: Bool) {
isEnabled = !hide
tintColor = hide ? .clear : .white
}
}