[self setButtonItem:nil];
不会隐藏我的栏按钮项目。
如何再次展示?
答案 0 :(得分:9)
另一个选项可能是禁用并将其颜色设置为clearColor ,然后再次启用并将其设置为原始颜色,如下所示:
self.rightButton.tintColor = [UIColor clearColor];
self.rightButton.enabled = NO;
以后:
self.rightButton.tintColor = [UIColor blackColor];
self.rightButton.enabled = YES;
答案 1 :(得分:8)
与UIViews不同,这里没有“隐藏”属性。您需要从导航栏或工具栏中删除条形按钮项以隐藏它并重新添加它以再次显示它。
使用类似的东西(假设这是导航栏的一部分):
self.navigationItem.rightBarButtonItem = nil;
除非它是“后退”按钮,在这种情况下there's a specific API call you can use。
答案 2 :(得分:0)
在Swift 4中, 如果右侧只有一个条形按钮项,则可以使用该项,
self.navigationItem.rightBarButtonItem = nil; //隐藏
self.navigationItem.rightBarButtonItem = barButtonItem //显示
假设您在右侧有多个条形按钮,例如,假设您在导航项的右侧有两个条形按钮项目(搜索按钮和过滤器按钮)。现在,右栏按钮项是
self.navigationItem.rightBarButtonItems = [searchItem,filterItem]
,您只需隐藏搜索按钮,就可以使用
self.navigationItem.rightBarButtonItems = [filterItem]
现在发生了什么,您可以将导航按钮中的搜索按钮完全隐藏起来,而过滤器项将代替搜索项
然后,如果要显示隐藏的条形按钮,
self.navigationItem.rightBarButtonItems = [searchItem,filterItem]