使用Objective-C单击按钮时更改图像

时间:2018-09-01 08:06:21

标签: ios objective-c arrays

我试图在单击按钮时在两个不同的图像之间切换。下面是我到目前为止编写的代码。但是,这只会显示一张图像,而不会在它们之间切换。

-(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];
    }
}

1 个答案:

答案 0 :(得分:1)

您的代码有几个问题:

首先,img是敲击处理程序内的局部变量,因此,每次运行该函数时,它将被设置为true

第二,您的if语句实际上包含一个赋值(=)而不是一个比较(==),因此即使img尚未{{1 }}就是执行true语句的时候。

所有这些都意味着您的图像将始终为if

您需要在函数外部使用属性,以便正确跟踪状态。 UnCheck.png也是一个很差的变量名,imgchecked可能更好。

然后,您的按钮处理程序方法只需要切换此属性并设置适当的图像即可。

isChecked