2012-09-17 4 views
0

나는 안드로이드 토스트와 비슷한 것을 사용하여 사용자에게 메시지를 보냅니다.NSThread 및 이벤트

이 토스트는 현재보기에 표시됩니다.이 경우보기를 변경하려고하는데 메시지를 읽을 시간이 없습니다.

그래서 현재보기에서 3 초 동안 머무르기 위해 스레드를 사용하지만 축배도 지연됩니다.

[theHoleView makeToast:@"OK!!" duration:3 position:@"center" image:[UIImage imageNamed:@"nocorrect.png"]]; 
[NSThread sleepForTimeInterval:3]; 
[self.navigationController popToRootViewControllerAnimated:YES]; 

토스트 다음에 NSThread를 실행하면 왜 토스트가 지연됩니까?

는 화면을 그립니다 메인 루프 주위를 돌아 없어 그것 때문에 사전

답변

1

에 감사드립니다. 당신은 즉

[theHoleView makeToast:@"OK!!" duration:3 position:@"center" image:[UIImage imageNamed:@"nocorrect.png"]]; 
[CATransaction flush]; 
[NSThread sleepForTimeInterval:3]; 
[self.navigationController popToRootViewControllerAnimated:YES]; 

당신은 당신의 ViewController.m 파일의 헤더를,이 작업을위한 석영 프레임 워크를 추가해야 프레임 워크가 대상에 추가하고 수입해야 할 수도 있습니다, [CATransaction flush]와 그래픽 컨텍스트를 세척 할 수 있습니다. 예 :

#import <QuartzCore/QuartzCore.h>