2014-11-10 2 views
0

내 앱에서 사용자가 선택할 수있는 요리법 목록을 가져옵니다. 화면에 표시 할 약 10 개의 이미지가 다운로드되므로 앱을로드하기 전에 시간이 많이 걸립니다. 화면이 약 5 초 동안 중간 스위치를 고정시킨 다음 조리법을 표시합니다. 스위치가 보이지 않도록 "로딩"화면을 표시 할 수있는 방법이 있는지 알아야합니다. 나는 그것을 봤 거든 만족하지 못하는 결과를 얻을, 대부분의 결과로 로딩 화면에 응용 프로그램이 처음 열립니다 관련. 나에 대한 어떤 아이디어?iOS에서 화면을 전환하는 동안 로딩 화면을 만드는 방법

편집

자세한 내용을 추가하려면, 난 이미 첫 번째의 상단에 뷰 컨트롤러를 추가하고 화면이 로딩이 완료 후 제거 시도했습니다. 그것은 아래의 것이로드 될 때까지 아직도 얼었다. 나는이 글에서 어디서부터 시작해야 할 지 잘 모르겠다. 그래서 더 읽기 나 다른 것에 대한 제안이 도움이 될 것이다.

+4

당신은 지금까지와 세부 사항에 대한 당신이 원하는 화면의 종류를 시도했다 게시해야 디스플레이. Stackoverflow는 더 많은 도움을주는 커뮤니티 일뿐 아니라 반드시 다른 사람들이 완벽한 솔루션을 제공하는 것은 아닙니다. – c0d3Junk13

+0

무료로 메인 스레드가 물건을 내림으로써. AJ B의 대답 –

답변

1

나는 비동기 적으로 이미지를 다운로드하고 UIActivityIndicatorView를 표시 할 것이다. 이렇게하면 표시기가 회전하여 이미지가 비동기 적으로 다운로드되므로 기본 스레드가 잠기지 않으므로 앱이 고정되지 않았 음을 사용자에게 알릴 수 있습니다.

또한 질문을하기 전에 열심히 조사를 해보십시오. 누군가 다른 사람에게 동일한 문제가 발생할 가능성이 있습니다. 이 답변을 확인하십시오, 그것은 당신이하려고하는 것과 비슷합니다.

How to UIActivityIndicatorView during perform segue?

편집 :보기를 SEGUE하기 위해

모든 이미지를 다운로드 한 :

dispatch_group_t group = dispatch_group_create(); 

dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), 
        ^{ 
         //download your images 
        }); 

dispatch_group_notify(group, dispatch_get_main_queue(), 
         ^{ 
          //images have downloaded, end uiactivityindicator, segue to the next view 

         }); 
+0

잘 비동기 확실히 이동하는 방법을 참조하십시오,하지만 난 여전히 이미지가 다운로드 될 때까지 페이지를로드 할 수 없습니다. 완료되지 않음 – Katushai

+0

dispatch_group을 사용하여 이미지를 다운로드 할 비동기 작업이 완료된 시간을 확인할 수 있습니다. 지금 대답의 예. –

2

넣고 활동 표시 뷰 컨트롤러에 조리법 :

self.activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; 
self.activityIndicator.frame = CGRectMake(40.0, 20.0, 100.0, 100.0); 
self.activityIndicator.center = self.view.center; 

그런 다음 시작해야 할 때 시작하고 DD 기본보기에이 :

데이터가로드되면
self.activityIndicator.hidden = NO; 
[self.activityIndicator startAnimating]; 
[self.view addSubview:self.activityIndicator]; 

, 중지 및 활동 표시를 제거합니다

[self.activityIndicator stopAnimating]; 
[self.activityIndicator removeFromSuperview]; 
관련 문제