2013-08-09 2 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

버튼 대상에서 설정해야합니다. UIControlStateNormal 동안 그 방법으로 이미지를

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

및 설정 : 다음 코드를 추가

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