2009-07-01 7 views
0

로그인 양식에 PIN을 입력 할 수있는 텍스트 입력란이 있습니다. 내가 누를 때 "로그인"버튼을 나는 다음과 같은 메서드를 호출 :숫자 패드 용 resignFirstResponder

* (IBAction) loginBeforeAction:(id) sender { 
     [pin resignFirstResponder]; 
     [progressView performSelectorInBackground:@selector(startAnimating) withObject:nil]; 
     [self login]; 
} 

하지만 난 숫자 패드는 방법을 로그인 컨트롤로 이동하기 전에 숨어되지 않습니다. 사실, 나는 숫자 패드로 진행보기를 볼 수 있습니다. 숫자 패드를 먼저 숨기고 진행보기를 표시 할 수있는 방법이 있습니까? plz help

답변

0

예, UI는 런 루프를 통과 할 때까지 업데이트되지 않습니다. 즉, 로그인 메소드가 완료 될 때까지 UI가 업데이트되지 않습니다. 또한 백그라운드에서 progressView를 업데이트 할 필요가 없습니다.

그래서, 단지 지연 호출 :

[progressView performSelector:@selector(startAnimating) withObject:nil afterDelay:0.1]; 
[self performSelector:@selector(login) withObject:nil afterDelay:0.25];