我试图在单击按钮时在两个不同的图像之间切换。下面是我到目前为止编写的代码。但是,这只会显示一张图像,而不会在它们之间切换。
-(IBAction)show {
BOOL img = true;
if (img = true) {
UIImage *img1 = [UIImage imageNamed:@"UnCheck.png"];
[imageview setImage:img1];
}
else {
UIImage *img = [UIImage imageNamed:@"Check.png"];
[imageview setImage:img];
}
}
答案 0 :(得分:1)
您的代码有几个问题:
首先,img
是敲击处理程序内的局部变量,因此,每次运行该函数时,它将被设置为true
。
第二,您的if
语句实际上包含一个赋值(=
)而不是一个比较(==
),因此即使img
尚未{{1 }}就是执行true
语句的时候。
所有这些都意味着您的图像将始终为if
。
您需要在函数外部使用属性,以便正确跟踪状态。 UnCheck.png
也是一个很差的变量名,img
或checked
可能更好。
然后,您的按钮处理程序方法只需要切换此属性并设置适当的图像即可。
isChecked