2014-03-12 3 views
0

UIButton을 선택했을 때 배경 이미지가 변경되어야합니다. 단추에 아무런 작업도 없거나 활동이 동일한 UIViewController 안에있을 때 모두 정상적으로 작동합니다.새 뷰로 푸시 할 때 UIButton이 강조 표시되지 않습니다.

그러나 단추가 다른보기로 밀어 넣기를 활성화하면 단추를 눌렀을 때 나타나는 이미지가 사용자에게 표시되지 않습니다.

나는 [NSTimer scheduledTimerWithTimeInterval 사용하여이 문제를 해결할 수 : 0.1 ....

그러나 어떤 지체없이 그것을 할 수있는 방법이 있는지 궁금입니다.

코드 :

playBTN = [[UIButton alloc] initWithFrame:CGRectMake(100, 90, 121, 119)]; 
[playBTN setImage:[UIImage imageNamed:@"play_BTN"] forState:UIControlStateNormal]; 
[playBTN setImage:[UIImage imageNamed:@"play_BTN_press"] forState:UIControlStateHighlighted]; 
[playBTN setImage:[UIImage imageNamed:@"play_BTN_press"] forState:UIControlStateSelected]; 
[playBTN addTarget:self action:@selector(actPlay) forControlEvents:UIControlEventTouchDown]; 
[self.view addSubview:playBTN]; 


-(void)actPlay 
{ 
    GamePlayViewController *game = [[GamePlayViewController alloc] initWithNibName:@"GamePlayViewController" bundle:nil]; 
    [self.navigationController pushViewController:game animated:YES]; 
} 
+3

[playBTN addTarget을 : 자기 행동 : @selector (actPlay) forControlEvents : UIControlEventTouchUpInside] –

답변

2

일반적으로 버튼은 버튼에 UIControlEventTouchUpInside 이벤트에 연결되어 있습니다. 즉, 사용자가 터치 할 때 버튼이 강조 표시되고 실수로 터치하면 트리거하지 않고 버튼 밖에서 손가락을 움직여 놓을 수 있습니다. 또한 액션 메서드가 실행되기 전에 터치 애니메이션이 발생 함을 의미합니다.

I 제언 UIControlEventTouchUpInside 이벤트에 액션을 연결

+0

이것은 내가 찾던, 고마워! – Yossi

관련 문제