3

iOS 앱에서 루트보기 컨트롤러가 이미 화면에 표시된 후 일련의 작업을 실행하고 싶습니다. 그러나 iOS 앱은 초기 화면 (즉, Default.png 이미지 표시)이 화면에 표시되고 루트보기 컨트롤러가 화면에 배치되기 전에 viewDidAppear을 호출하는 것으로 보입니다. 나는 viewDidLoad에서 같은 코드를 시도해 보았고 동일한 문제가 있었다. 루트보기 컨트롤러가 실제로 화면에 나타나면 코드를 실행하려면 어떻게해야합니까? viewDidLoad에 사용에iOS 루트 뷰 컨트롤러의 viewDidAppear : 스플래시 화면 (Default.png)이 화면에 계속 표시되어 있습니다.

답변

2

[self performSelector:@selector(loadData) withObject:nil afterDelay:.5]; 

다음 loaddata 방법 내부 코드를 사용하여 ...

난 후 모달 로그인보기를 표시하고 싶었 항에있어서, 난 그냥 매우 비슷한 문제 나 자신을 발견
2

내 루트 뷰 컨트롤러가로드되었습니다. 이전에 viewDidAppear을 사용했지만 iOS 4.3 SDK로 업그레이드 할 때 동작이 중단되었습니다.

앱 대리인의 application:didFinishLaunchingWithOptions: 선택기에서 내 루트보기 컨트롤러의 선택기를 호출하여 문제를 해결했습니다. 다른 대답 에서처럼 지연을 사용하는 것은 약간의 진흙이며, 아마도 전적으로 신뢰할만한 것은 아닙니다. yourAppDelegate.m에서

:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
    // Add the view controller's view to the window and display. 
    [self.window addSubview:viewController.view]; 
    [self.window makeKeyAndVisible]; 

    // Invoke operations here. For example, show login view: 
    [viewController showModalLoginView]; 

    return YES; 
} 
관련 문제