Kalyan Andra
Kalyan Andra

Reputation: 67

button image change using predefined method

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

Answers (3)

Prakash
Prakash

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

vishiphone
vishiphone

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

graver
graver

Reputation: 15213

use

[button setImage:[UIImage imageNamed:@"button.png"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"button_highlighed.png"] forState:UIControlStateHighlighted];

Upvotes: 0

Related Questions