翻译UINavigationBar的translucent属性在其头文件定义处的注释

先吐槽一下,apple的注释写得挺绕的,一大堆的后置定语。


translucent

iOS7下具有新的行为。

你可以通过设置这个属性为NO,强制背景为不透明。


如果没有明确的设定translucent的值,则系统会由当前上下文推断出一个值来。

如果导航栏的背景图为自定义,translucent的值将从背景图的alpha值推断而来,

背景图只要有一个像素的alpha值<1.0,则translucent的值就推断为YES。


如果设置translucent为YES,而自定义背景图却是不透明的,则系统会给图片加上一个小于1.0的系统预定义的透明度。


如果translucent置为NO,而自定义的背景图却是半透明的,

如果bar设置了barTintColor的值, 系统将会给背景图设置一个barTintColor色的不透明背景。

如果bar的barTintColor的值为nil,  背景图的不透明背景由状态栏的barStyle决定,如果状态栏的barStyle值为UIBarStyleBlack则为黑色,为UIBarStyleDefault则为白色。


在iOS6及之前,translucent的默认值为NO。

之后,如果barStyle设为UIBarStyleBlackTranslucent则其值为YES



名词解释:

translucent:半透明

opaque:不透明

opacity:透明



原文:


/*

 New behavior on iOS 7.

 Default is YES.

 You may force an opaque background by setting the property to NO.

 If the navigation bar has a custom background image, the default is inferred 

 from the alpha values of the image—YES if it has any pixel with alpha < 1.0

 If you send setTranslucent:YES to a bar with an opaque custom background image

 it will apply a system opacity less than 1.0 to the image.

 If you send setTranslucent:NO to a bar with a translucent custom background image

 it will provide an opaque background for the image using the bar's barTintColor if defined, or black

 for UIBarStyleBlack or white for UIBarStyleDefault if barTintColor is nil.

 */

@property(nonatomic,assign,getter=isTranslucent)BOOL translucentNS_AVAILABLE_IOS(3_0);// Default is NO on iOS 6 and earlier. Always YES if barStyle is set to UIBarStyleBlackTranslucent


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值