【发布时间】:2012-12-03 18:44:05
【问题描述】:
这是我的代码:
#define kDeselected .3
#define kSelected 1
- (void) selectButton:(UIImageView*)iconView{
[iconView setAlpha:kDeselected];
if(iconView.alpha == kDeselected){
[iconView setAlpha:kSelected];
}
else if(iconView.alpha == kSelected){
[iconView setAlpha:kDeselected];
}
}
我是一个相当高级的程序员,但我无法理解为什么在 if 语句之前,当我手动进入并确保 if 语句的结果为 true 时,它仍然没有命中它。
需要注意的是,当 kDeselected = .5 时,它可以完美运行。但是当它是 0.3 时……它不喜欢我。
【问题讨论】:
-
检查舍入错误。最好只使用 bool 来检查选择,然后根据我们所处的状态设置 alpha,而不是检查 alpha 来确定状态
-
嗯,很有趣。关于为什么它适用于一个值而不适用于另一个值的任何想法?会不会是因为一些奇怪的舍入错误?
标签: iphone objective-c ios ipad uiimageview