基本上,我改变导航栏的外观如下:
// Disable the shadow image
[self.navigationController.navigationBar setShadowImage:[UIImage new]];
// Add the blue line
UIView *blueLine = [[UIView alloc]init];
[blueLine setBackgroundColor:[UIColor borderBlueColor]];
[blueLine setFrame:CGRectMake((self.navigationController.navigationBar.frame.size.width - 120) / 2, self.navigationController.navigationBar.frame.size.height - 1, 120, 1)];
[self.navigationController.navigationBar addSubview:blueLine];
但是,我只是将自定义外观设置为只有一个视图控制器。当我使用推送到另一个视图控制器时,似乎所有这些都应用于此自定义外观。但我希望其他导航栏更改为默认外观。有人有什么建议吗?
答案 0 :(得分:0)
你可以使用appreance proxy
[[UINavigationBar appearanceWhenContainedIn:[YourVC class], nil]addSubview:blueLine];