Reputation: 67
In my app am using UIScrollView. I added buttons to UIScrollView. For each button i assigned image using
- (void)setImage:(UIImage *)image forState:(UIControlState)state;
and actions.
forState i used UIControlStateNormal in viewDidLoad.
And when we click on button image has to change. For this i used same method but forState value changed to UIControlStateSelected in ViewDidLoad.
But button image is not changing. any one can help or suggest
Upvotes: 0
Views: 114
Reputation: 872
You've to use like this
In ViewDidLoad Set images for normal and selected state
-(void)ViewDidLaod
[myButton setImage:[UIImage imageNamed:@"barbutton.png"] forState:UIControlStateNormal];
[myButton setImage:[UIImage imageNamed:@"barbutton1.png"] forState:UIControlStateSelected];
To perform selection image change can be done below code
-(void)buttonclick
[myButton setSelected:YES];
or
[myButton setSelected:NO];
Upvotes: 1
Reputation: 750
Use this line of code I think this will be helpful for you.
-(void)viewDidLoad
{
UIButton *myButton = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
[myButton setFrame:CGRectMake(0,3,70,32)];
[myButton setImage:[UIImage imageNamed:@"barbutton.png"] forState:UIControlStateNormal];
[myButton addTarget:self action:@selector(compete) forControlEvents:UIControlEventTouchUpInside];
}
-(void)compete
{
[myButton setImage:[UIImage imageNamed:@"barbutton1.png"] forState:UIControlStateNormal];
}
Upvotes: 0
Reputation: 15213
use
[button setImage:[UIImage imageNamed:@"button.png"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"button_highlighed.png"] forState:UIControlStateHighlighted];
Upvotes: 0