2011-10-07 3 views
2

내 앱이 시작되기 전에 많은 것들을로드하고 처리해야하므로 내 iPhone에서 테스트 할 때 아이폰 OS가 너무 많은 시간 동안 멈 춥니 다.Monotouch 앱의 로딩 화면 클래스를 만드는 가장 좋은 방법은 무엇입니까?

다음으로, 내 Apps 용 로딩 화면 클래스를 작성하기로 결정했습니다. 백그라운드에서 다른 모든 스레드가 내 ViewController를 초기화하는 동안 immediatly 로고와 진행 표시기 (iOS에 의해 회피되지 않도록 반응성을 유지함)를 표시합니다. 로딩 화면을 닫고 메인 윈도우를 보여줍니다.

MonoTouch를 사용하여 가장 좋은 방법은 무엇입니까?

모든 의견을 환영합니다. 감사합니다.

답변

6

입니다 내가 어떻게 모든 물건을 수행 코드를 호출, 그 후

window.AddSubview(this.splashView); 

다음 FinishedLaunching 방법에

를 초기화하고 메인 창에 시작보기를 추가 스레드/비동기 호출에서 수행하려고합니다. 나는 보통 ThreadPool을 사용한다. 메인 스레드에서 호출하는 것을 잊지 마십시오.

ThreadPool.QueueUserWorkItem(delegate { 
    this.BeginInvokeOnMainThread(delegate { 
     //Initialize stuff here 
     //... 
     //when done, add your initial view to the window and remove the splash view 
     //eg.: 
     //window.AddSubview(myController.View); 
     //this.splashView.RemoveFromSuperview(); 
    }); 
}); 

// show the window, which only displays the splash view now and return 
window.MakeKeyAndVisible(); 
return true; 

거친 예제이지만 도움이되기를 바랍니다.

관련 문제