你好,我创建了一个栏按钮,当文本视图开始编辑时显示“完成”。实际上,我需要的是当我按下完成按钮时,文本视图的可编辑属性将变为false,并且完成按钮会隐藏。
我已经完成了第一部分,但如何隐藏栏按钮呢?
请帮忙解决。
你好,我创建了一个栏按钮,当文本视图开始编辑时显示“完成”。实际上,我需要的是当我按下完成按钮时,文本视图的可编辑属性将变为false,并且完成按钮会隐藏。
我已经完成了第一部分,但如何隐藏栏按钮呢?
请帮忙解决。
@christo16的解决方案对我来说不太适用,但它引导我找到了这个可行的解决方案:
[self.navigationItem.rightBarButtonItem setEnabled:NO];
//assuming it's the right one
[[[myNavigationBar topItem]rightBarButtonItem]setEnabled: NO];
我认为要隐藏它,实际上你需要将其设置为nil。然后在需要时重新创建它。
[[myNavigationBar topItem]setRightBarButtonItem:nil animated:NO];
启用/禁用它不会像isHidden一样实现相同的效果,因为它仍然可见(只是稍微暗淡)。如果将工具栏按钮项设置为nil,则无法轻松地将其切换回来。
相反,您可以使用色调颜色来切换可见性...这里是一个Swift实现。
切换关闭(模拟isHidden true):
self.navigationItem.rightBarButtonItem.tintColor = UIColor.clear
self.navigationItem.rightBarButtonItem.isEnabled = false
而回到(模拟 isHidden
为 false):
self.navigationItem.rightBarButtonItem.tintColor = UIColor.white // or nil
self.navigationItem.rightBarButtonItem.isEnabled = true