【问题标题】:Change the navigation bar back to default, when using a Push segue使用 Push segue 时将导航栏改回默认值
【发布时间】:2015-07-07 10:00:45
【问题描述】:

基本上,我这样改变导航栏的外观:

// 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];

但是,我只是将自定义外观设置为仅其中一个视图控制器。当我使用推送到另一个视图控制器时,似乎所有这些都应用在这个自定义外观中。但我希望其他导航栏更改为默认外观。有人有什么建议吗?

【问题讨论】:

    标签: ios objective-c uinavigationcontroller uinavigationbar segue


    【解决方案1】:

    你可以使用appreance代理

        [[UINavigationBar appearanceWhenContainedIn:[YourVC class], nil]addSubview:blueLine];
    

    【讨论】:

    • @MikeZhu 你把它放在哪里了?
    • 我把它放在 AppDelegate 文件中。
    • 我用另一种方式解决,将“isHidden”设置为UIView
    • 好的,或者你可以在 viewWillAppear 中设置并在 viewWillDisappear 中删除
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    • 1970-01-01
    • 2015-11-20
    相关资源
    最近更新 更多