【发布时间】:2014-02-27 10:26:22
【问题描述】:
我想在添加子视图时禁用导航栏,并在删除子视图后再次启用它。怎么做。显示操作表时的类似操作。
【问题讨论】:
标签: ios ios7 uinavigationcontroller uinavigationbar childviewcontroller
我想在添加子视图时禁用导航栏,并在删除子视图后再次启用它。怎么做。显示操作表时的类似操作。
【问题讨论】:
标签: ios ios7 uinavigationcontroller uinavigationbar childviewcontroller
在斯威夫特中:
self.navigationController?.setNavigationBarHidden(true, animated: true)
【讨论】:
使用(目标-C):
[self.navigationController setNavigationBarHidden:YES animated:YES];
【讨论】:
请注意,如果您想避免以这种方式再次启用它们,您可能必须跟踪最初禁用的按钮。
我也没有检查这是否包括后退按钮。我猜它没有,所以如果需要,你也必须考虑到这一点。
NSArray* allBarButtons = [self.navigationController.navigationBar.topItem.leftBarButtonItems arrayByAddingObjectsFromArray:self.navigationController.navigationBar.topItem.rightBarButtonItems];
for (UIBarButtonItem* barButton in allBarButtons) {
barButton.enabled = NO;
}
【讨论】:
在 Swift 4 中,将下面的代码放在 ViewController 的 viewDidLoad() 中。
self.navigationController?.isNavigationBarHidden = true
【讨论】:
self.navigationController.navigationBar.topItem.leftBarButtonItem.enabled = NO;
self.navigationController.navigationBar.topItem.rightBarButtonItem.enabled = NO;
self.navigationController.navigationBar.topItem.backBarButtonItem.enabled = NO;
【讨论】:
[[self navigationController] setNavigationBarHidden:YES 动画:YES];
【讨论】: