Furqi
Furqi

Reputation: 2403

How to change image of button?

When i press button it changes image into green but it quit dark,but its original color like lookup button image,so what's wrong in my code?

- (void)viewDidLoad {
    [super viewDidLoad];
    UIImage *clear_img = [UIImage imageNamed:@"0.png"];
    UIImage *clear_hover_img = [UIImage imageNamed:@"0_hover.png"];
    clear=[[UIButton alloc]init];
    [clear setTitle:@"Clear" forState:UIControlStateNormal];
    //clear.tag =12;
    clear.titleLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:32];

    if(clear.selected=TRUE){
        [clear setBackgroundImage:clear_img forState:UIControlStateSelected];
        [clear setBackgroundImage:clear_hover_img forState:UIControlStateNormal];
    }

    [clear setFrame:CGRectMake(1, 360, 159, 50)];
    [clear addTarget:self action:@selector(clearInput)
    forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:clear];
}

-(void)clearInput {

    textfield.text = @"";
    UIImage *lookup_img = [UIImage imageNamed:@"0_.png"];
    [lookup setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
    [lookup setBackgroundImage:lookup_img forState:UIControlStateNormal];
}

enter image description here

Upvotes: 2

Views: 330

Answers (2)

iOSPawan
iOSPawan

Reputation: 2894

For state TouchUpInside, Button Image Opacity decrease to 0.5. try this-

if(clear.selected == TRUE){
    [clear setBackgroundImage:clear_img forState:UIControlStateSelected];
    [clear setBackgroundImage:clear_hover_img forState:UIControlStateNormal];
    [clear setBackgroundImage:clear_hover_img UIControlStateHighlighted];
}

Upvotes: 1

Kapil Choubisa
Kapil Choubisa

Reputation: 5232

I think you wants to set Clear button Image as Lookup button. you had done with that but when you press on clear button the image get some darken.

If my understanding is right then you had done:

[clear setBackgroundImage:clear_img forState:UIControlStateSelected];
[clear setBackgroundImage:clear_hover_img forState:UIControlStateNormal]; 

add this line too:

[clear setBackgroundImage:clear_img forState:UIControlStateHighlighted];

Hope this helped

Upvotes: 1

Related Questions