【问题标题】:set tint colors for uinavigation bar in iOS 7 with out inturupting barbutton items [duplicate]在 iOS 7 中为 uinavigation 栏设置色调颜色而不中断栏按钮项目 [重复]
【发布时间】:2013-09-25 14:02:12
【问题描述】:

我尝试在 iOS 7 中将导航栏颜色设置为黑色

[self.navigationController.navigationBar setTintColor:[UIColor blackColor]];

使用这个不起作用

但有时可以,但所有其他栏按钮仍为黑色,导致无法看到栏按钮

【问题讨论】:

  • 您是否要设置按钮或导航栏的色调。
  • “有时”是一个模糊的术语。你应该解释清楚。

标签: iphone objective-c ios7 xcode5


【解决方案1】:

检查Apple document,你得到了信息

iOS7默认navigationBar是半透明的,背景由barTinColor控制

所以要让你的navigationBar像iOS6一样变黑,你可以这样做

[self.navigationController.navigationBar setTranslucent:NO];

[self.navigationController.navigationBar setBarTintColor:[UIColor blackColor]];

或者

[self.navigationController.navigationBar setBarStyle:UIBarStyleBlackOpaque];

【讨论】:

  • [self.navigationController.navigationBar setBarStyle:UIBarStyleBlackOpaque];这适用于设置颜色,但是后退按钮和导航栏按钮项目不可见,它们的默认颜色为黑色
  • 也许您将TinColor 设置为黑色? TinColor 现在用于 iOS7 中的 BarItem,只需在代码中删除 setTinColor 或将其设置为不同的颜色
【解决方案2】:

在 iOS7 中:

[self.navigationController.navigationBar setBarTintColor:[UIColor blackColor]];

【讨论】:

  • 这对我有用,但会使时间和电池变黑,所以你再也看不到它了。为什么?
  • 那是因为您需要将状态栏样式设置为浅色内容。将导航栏的样式设置为黑色,它会自动发生。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多