2009-08-15 5 views
0

내 응용 프로그램의 흔들림 제스처 호환 만들고있어 흔들림 제스처 만 1 시간을 작동하는 것 같다 :becomeFirstResponder 내 UIViewController에이 작업을 수행하여

- (void)viewWillAppear:(BOOL)animated 
{ 
    [self.view becomeFirstResponder]; 
    [super viewWillAppear:animated]; 
} 

문제는 그 나는 (다른보기로 I 플립 때 플립 사이드 뷰와 루트 뷰 컨트롤러를 둘 다 관리하는 "Utility App"템플릿을 사용하는 경우) 내가 돌아 왔을 때 흔들기 동작이 중단됩니다.

나는 viewWillAppear 메서드가 호출 된 것을보고,보기가 첫 번째 응답자 상태를 두 번째로 다시 얻는 것 같지 않습니다.

답변

2

누가 알았습니까 ... 대신 becomeFirstResponderviewDidAppear으로 전화해야합니다.

+0

나는 동일한 문제가있었습니다! 나는 App Dev 포럼 중 한 곳에서 대답을 찾은 것 같아요. –

+0

예 - 이건 저에게 일이고 저에게 감사합니다! –

1

넵, 그걸로 저를 확인했습니다 ... 저는 응용 프로그램 위임자로부터 firstResponder로 컨트롤러를 설정하려고했습니다. 한편,이 로그 문을 전략적 방법으로 뿌리기 위해 디버깅에 매우 유용하다는 것을 알았습니다.

NSLog(@"%s: I %s first responder! (%@)", __FUNCTION__, [self isFirstResponder] ? "am" : "am not", self); 

또한 임의의 시간에 트리거 할 수 있도록 "방향 지정"방법을 사용 설정했습니다.

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
NSLog(@"%s: I %s first responder! (%@)", __FUNCTION__, [self isFirstResponder] ? "am" : "am not", self); 
return YES; 
} 
관련 문제