当半透明为假时,UIToolBar 上的 Bar Tint

Posted

技术标签:

【中文标题】当半透明为假时,UIToolBar 上的 Bar Tint【英文标题】:Bar Tint on UIToolBar when translucent is false 【发布时间】:2015-07-10 01:28:34 【问题描述】:

我尝试在translucent 设置为关闭的UIToolbar 上设置条形色调颜色(在界面生成器中)。无论我选择什么颜色,模拟器中的工具栏总是白色的(它在 IB 中改变颜色)。我需要将 translucent 设置为 true,以便让我的 UIToolbar 具有正确的 Bar Tint。从 Apple 文档中,我没有看到任何地方提到当 translucent 设置为 false 时 barTintColor 不起作用。

谢谢

编辑

看来这只是界面生成器中的问题,在代码中设置 Bar Tint Color 是有效的,任何人都可以确认?

【问题讨论】:

你能上传一些截图吗?很难用这些信息来判断,因为它对我有用。 作为一种解决方法,您可以将工具栏的背景颜色(界面构建器中 Bar Tint 下方的一些设置)设置为您想要的。 你在界面生成器中设置了吗? Myles,我也发现了背景颜色技巧,但我仍然试图理解为什么它不能与 bartintcolor 一起使用 【参考方案1】:

来自文档

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIToolbar_Class/#//apple_ref/occ/instp/UIToolbar/translucent

如果在具有半透明自定义背景图像的工具栏上将此属性设置为 NO,则如果工具栏具有 UIBarStyleBlack 样式,则工具栏为图像提供不透明背景,如果工具栏具有 UIBarStyleBlack 样式,则使用白色,如果工具栏具有 UIBarStyleDefault,则使用白色,或者工具栏的 barTintColor 如果定义了一个自定义值。

【讨论】:

是的,我在文档中看到了这一部分。我错过了什么? 它在倒数第二行说“如果工具栏有 UIBarStyleDefault 则为白色”也许? "或工具栏的 barTintColor,如果定义了自定义值。"我定义了一个自定义值。 我不确定这是否会帮助你,但如果我在 xcode 文档中打开 barTintColor @property(nonatomic,retain) UIColor *barTintColor NS_AVAILABLE_IOS(7_0) UI_APPEARANCE_SELECTOR; // default is nil 希望这会有所帮助

以上是关于当半透明为假时,UIToolBar 上的 Bar Tint的主要内容,如果未能解决你的问题,请参考以下文章

当 lhs 为假时,为啥在逻辑 AND 中评估条件(三元)运算符

为啥当值为假时我不能传递过滤数据(它是布尔值)

当可点击为假时更改按钮的背景颜色

当条件为假时不执行其他函数的`if`语句

当条件为假时执行 If 语句 True 块

当第一个参数为假时,VBA“与”运算符是不是评估第二个参数?