当点击按钮时,图像第一次没有变化。第一次点击时要改变按钮图像

问题描述:

if([[favbutton imageForState:UIControlStateNormal] isEqual:[UIImage imageNamed:@"wishlwhite.png"]]) 
{ 
    [favbutton setImage:[UIImage imageNamed:@"wishlistwhite.png"] forState:UIControlStateNormal]; 


    // other statements 
} 
else 
{ 
    [favbutton setImage:[UIImage imageNamed:@"wishlwhite.png"] forState:UIControlStateNormal]; 

    // other statements 
} 
+0

这样检查条件 - 'if([favbutton.currentImage isEqual:[UIImage imageNamed:@“wishlwhite.png”]])' –

你真的不应该检查按钮中的图像来确定状态。声明一个单独的属性进行测试,例如

@property (nonatomic, assign) BOOL isWishList; // or something 

-(IBAction) toggleButton: (id) sender { 

    if (self.isWishList) { 
     [favbutton setImage:[UIImage imageNamed:@"wishlistwhite.png"] forState:UIControlStateNormal]; 
     // other statements 
    } else { 
     [favbutton setImage:[UIImage imageNamed:@"wishlwhite.png"] forState:UIControlStateNormal];   
     // other statements 
    }  
    self.isWishList = !self.isWishList 
}