2013-08-09 7 views
0

я уже создал программно кнопку с изображением для normalState. Но я хочу установить новое изображение кнопки при нажатии кнопки (новое изображение должно отображаться в остальное время). Я что-то пробовал, но он работает только во время прослушивания. Таким образом, кнопка показывает свое старое изображение после повторного нажатия.Установить постоянное изображение кнопки после того, как кран

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [button setBackgroundImage:[UIImage imageNamed:@"image1.png"] forState:UIControlStateNormal]; 
[button setBackgroundImage:[UIImage imageNamed:@"image2.png"] forState:UIControlStateHighlighted]; 
button.frame = CGRectMake(15.0f, 32.0f, 24.0f, 20.0f); 
[cell addSubview:button]; 

Благодарим за помощь.

ответ

0

Попробуйте использовать это его воля помогает вам.

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
     [button setBackgroundImage:[UIImage imageNamed:@"image1.png"] forState:UIControlStateNormal]; 
    [button setBackgroundImage:[UIImage imageNamed:@"image2png"] forState:UIControlStateHighlighted]; 
    button.frame = CGRectMake(15.0f, 32.0f, 24.0f, 20.0f); 

    // ----------- Add this line in your code ------- 
    [button addTarget:self action:@selector(btnPressed:) forControlEvents:UIControlEventTouchUpInside]; 
    [cell addSubview:button]; 


    - (void)btnPressed:(UIButton *)sender 
    { 
      [sender setBackgroundImage:[UIImage imageNamed:@"image2.png"] forState:UIControlStateNormal]; 
    } 
0

Вы должны сделать настройку в цель кнопки. Добавьте следующий код:

[button addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside]; 

и установить изображение в этом методе для UIControlStateNormal:

- (void)buttonTapped:(UIButton *)sender { 
    [button setBackgroundImage:[UIImage imageNamed:@"image2png"] forState:UIControlStateNormal]; 
}