【问题标题】:iOS navigation bar loses transparency when I set BarTintColor当我设置 BarTintColor 时,iOS 导航栏失去透明度
【发布时间】:2015-03-05 10:44:22
【问题描述】:

我对 iOS 开发还比较陌生,最近几天我一直在想如何创建一个带有自定义色调的半透明导航栏。

我现在的状态:

  • 我创建了一个新项目,在导航视图中嵌入了一个红色视图,该导航视图嵌入在选项卡栏中。

  • 在红色视图中,我将图像部分定位在导航视图的后面,以证明半透明功能正在发挥作用。 它有效。

  • 我将条形颜色更改为白色:

    [[UINavigationBar appearance] setBarTintColor: [UIColor whiteColor]];
    
  • 半透明消失了。图像不再发光。所以我尝试了:

    [[UINavigationBar appearance] setBarTintColor: [[UIColor whiteColor] colorWithAlphaComponent: 0.5]];
    
  • 还是不行。

关于如何解决这个问题的任何建议? 谢谢。

【问题讨论】:

    标签: ios navigation uinavigationbar translucency


    【解决方案1】:

    如果你只希望navigationBar的背景是半透明的,你可以试试:

    [(UIView*)[self.navigationController.navigationBar.subviews objectAtIndex:0] setAlpha:0.5f];
    

    我在这里找到了这个:https://stackoverflow.com/a/12389579/3626094

    否则,如果你想要整个navigationBar半透明,包括按钮和标题你可以试试:

    self.navigationController.navigationBar.tintColor = [UIColor blueColor];
    self.navigationController.navigationBar.alpha = 0.5f;
    self.navigationController.navigationBar.translucent = YES;
    

    我在这里找到了这个:https://stackoverflow.com/a/6959527/3626094

    【讨论】:

      【解决方案2】:

      这对我有用:

      [self.navigationController.navigationBar setTranslucent:NO];
      self.navigationController.navigationBar.backgroundColor = [UIColor colorWithWhite:1 alpha:0.5];
      

      【讨论】:

        猜你喜欢
        • 2015-06-21
        • 1970-01-01
        • 1970-01-01
        • 2020-09-19
        • 2018-03-05
        • 2016-12-20
        • 2014-11-08
        • 2021-11-05
        • 1970-01-01
        相关资源
        最近更新 更多