当我设置BarTintColor时,iOS导航栏会失去透明度



我是iOS开发的新手,最近几天我一直在为创建一个带有自定义色调的半透明导航栏而绞尽脑汁。

我的当前状态:

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

  • 在红色视图中,我将图像部分放置在导航视图后面,以证明半透明性正在发挥作用它有效

  • 我将条形图色调更改为白色:

    [[UINavigationBar appearance] setBarTintColor: [UIColor whiteColor]];
    
  • 半透明感消失了。这张照片再也照不下去了。所以我尝试了:

    [[UINavigationBar appearance] setBarTintColor: [[UIColor whiteColor] colorWithAlphaComponent: 0.5]];
    
  • 仍然不起作用。

关于如何解决这个问题有什么建议吗?谢谢

如果您只希望导航栏的背景是半透明的,您可以尝试:

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

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

否则,如果你想让整个导航栏半透明,包括按钮和标题,你可以尝试:

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

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

这对我有效:

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

相关内容

  • 没有找到相关文章

最新更新