我试图设置一个按钮,使其出现在每个有导航栏的视图上。使用AppDelegate上的外观代理
设置所有视图的外观不是问题 [[UINavigationBar appearance] setTintColor:[UIColors grayColor]];
我试图将UINavigationController子类化,然后在故事板上设置该导航控制器。在viewDidLoad
方法上我尝试了这个:
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"right"
style:UIBarButtonItemStyleBordered target:self action:nil];
但按钮没有出现。
如果我这样做:
self.navigationBar.topItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"right"
style:UIBarButtonItemStyleBordered target:self action:nil];
按钮显示但在您进入下一个屏幕后消失。
我正在尝试这样做,所以我不必在每个视图控制器的所有viewDidLoad
方法上设置右键和左键。是否可以使用UINavigationController的子类来设置导航栏的属性?
答案 0 :(得分:0)
Apple告诉我们不要继承UINavigationController:
此类不适用于子类。相反,在希望应用程序的用户界面反映内容的层次结构特性的情况下,可以按原样使用它的实例。
这是来自文档的XCode版本。在线版loosens up a bit,用以下内容替换该建议:
此类通常按原样使用,但可以在iOS 6及更高版本中进行子类化。
如何使用修改后的viewDidLoad创建UIViewController的自定义子类,并将所有自定义VC基于此?