Mat*_*man 10 iphone cocoa-touch alpha uikit uislider
为什么UISlider视图在设置为0.5时忽略alpha视图?
码:
for (int i = 0; i < 3; i++) {
UISlider *slider = [[[UISlider alloc]
initWithFrame:CGRectMake(0, i * 30, 200, 30)]
autorelease];
slider.alpha = 0.4 + (CGFloat)i / 10.0f;
[window addSubview:slider];
}
Run Code Online (Sandbox Code Playgroud)
结果:
滑块的alpha值为0.4,0.5和0.6.正如你所看到的,中间的0.5是完全不透明的.它接缝只发生在alpha 0.5.测试了其他UI控制器,它们按预期工作,alpha设置为0.5.
在真实设备上使用iOS 4.2,在模拟器中使用iOS 3.2和4.2转载.
顺便说一句,如果有人好奇我是如何以及为什么我遇到这个问题,那就是一个名为Slippy的益智游戏的滑动方向键盘配置.
小智 1
正如您所说,其他 UI 控制器使用 0.5 alpha,应该没有区别UISlider
,因为它们从类继承alpha
属性UIView
并且存在对该opaque
属性的引用(“如果视图完全打开,您应该始终将此属性的值设置为 NO”)或部分透明”)。也许你可以尝试遵循建议。
如果确实存在值为 0.5 的错误,您可以简单地将起始透明度从 0.4 更改为 0.41/0.39,而不会出现任何明显的差异:
slider.alpha = 0.41f + (CGFloat)i / 10.0f;
Run Code Online (Sandbox Code Playgroud)
最后,您可以将结果alpha
值输出到某些标签以检查它们是否是预期的值,或者输出该(CGFloat)i
值以查看类型转换是否有问题。
归档时间: |
|
查看次数: |
866 次 |
最近记录: |