【问题标题】:How to make Navigation Bar translucent on specific view?如何使导航栏在特定视图上半透明?
【发布时间】:2015-08-04 20:01:14
【问题描述】:

我有一个包含三个视图的向下钻取层次结构,它们都嵌入在导航控制器中。我希望最后一个视图的导航栏是半透明的,但是在返回前两个第一个视图时,导航栏不是半透明的。我尝试在视图viewDidLoad func 中实现self.navigationController?.navigationBar.translucent = true; 代码,但无济于事,它只是保持不变。我应该实现什么?

【问题讨论】:

    标签: ios swift uinavigationbar


    【解决方案1】:

    抱歉,如果我不理解这一点,但您想让半透明条再次消失并隐藏?如果是这种情况,那么您应该在 ViewWillDisappear() 中将栏设置回隐藏

    这应该可以解决你的问题!

    【讨论】:

    • 不,我有三个表视图,都是连续向下钻取的。我希望前两个视图有一个常规导航栏,但最后一个视图导航栏是半透明的。
    • 那么当你返回也就是 viewwilldisappear() 时,而不是隐藏导航栏有 translucent = false
    • 问题是,我根本没有让条变成半透明,这就是我在问题中描述的问题
    【解决方案2】:

    在最后一个视图中

    override func viewWillAppear(animated: Bool) {
       self.navigationController?.navigationBar.translucent = true
    }
    
    override func viewWillDisappear(animated: Bool) {
       self.navigationController?.navigationBar.translucent = false 
    }
    

    【讨论】:

    • 它不起作用,我可以补充一下,我确实有一个自定义图像作为导航栏背景,这会有所不同吗?
    【解决方案3】:

    您可以在您的程序中尝试此方法。
    记得在- (void)viewWillAppear:(BOOL)animated方法中执行这个方法。
    如果你没有在你的程序中使用导航控制器,你会用你自己的导航栏替换self.navigationController

    - (void)navigationBarInitializationWithTransparentOption:(BOOL)isAffirmative
    {
        //An optional statement below, just to make sure the navigationBar is in its place:
        self.navigationController.navigationBarHidden = NO;//(or separate ".navigationBarHidden" to ".navigationBar.hidden")
        //
        //TO MAKE THE BACKGROUND OF THE CURRENT NAVIGATION BAR TRANSLUCENT:
        [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
        [self.navigationController.navigationBar setTranslucent:isAffirmative];
        //set NO in the following statement will leave the border of the navigation bar visible
        self.navigationController.navigationBar.clipsToBounds = YES;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多