Reputation: 1257
I am trying to change the image of button while i have created button programmatically
//Create a Buttonfav
UIImage *imagefavNormal = [UIImage imageNamed:@"favtop_unselect_icon2.png"];
btnFav = [UIButton buttonWithType:UIButtonTypeCustom];
[btnFav showsTouchWhenHighlighted];
btnFav.adjustsImageWhenHighlighted = YES;
[btnFav setAdjustsImageWhenDisabled:YES];
[btnFav setHighlighted:YES];
btnFav.bounds = CGRectMake( 0, 0, imagefavNormal.size.width, imagefavNormal.size.height );
btnFav.userInteractionEnabled = NO;
[btnFav setImage:imagefavNormal forState:UIControlStateNormal];
[btnFav addTarget:self action:@selector(btnFavPressed:) forControlEvents:UIControlEventTouchUpInside];
//Create UIBarButtonItem = barButtonfav
barButtonfav = [[UIBarButtonItem alloc] initWithCustomView:(UIButton*)btnFav];
Now i am trying to change the button image with method
-(void) toggleFavoriteButtonState:(BOOL) isEnable {
UIImage *imagefavNormal = [UIImage imageNamed:@"favtop_unselect_icon2.png"];
UIImage *imagefavSelected = [UIImage imageNamed:@"favtop_select_icon2.png"];
if (isEnable) {
[btnFav setImage:imagefavSelected forState:UIControlStateNormal];
}
else {
[btnFav setImage:imagefavNormal forState:UIControlStateNormal];;
}
}
its not working while i have not touched the button. it changes the image but not hilighted the image.
Any mistake i have done in this code???
Upvotes: 0
Views: 174
Reputation: 1668
try to use UIControlStateDisabled
button state.
UIImage *imagefavNormal = [UIImage imageNamed:@"favtop_unselect_icon2.png"];
UIImage *imagefavSelected = [UIImage imageNamed:@"favtop_select_icon2.png"];
[btnFav setImage:imagefavSelected forState:UIControlStateDisabled]
[btnFav setImage:imagefavNormal forState:UIControlStateNormal];
may help for your requirement.thanks.
Upvotes: 1