일부 이미지를 다운로드하라는 요청을 받고 있는데 그 다음으로 하위보기를 대체하고 싶습니다. 이것은 UI가 차단 된 다음 나중에 새보기가 표시됨을 의미합니다.iOS4 networkActivityIndicatorVisible이 UI를 통해 차단되었습니다.
다운로드로 인해 차단이 발생했음을 사용자가 이해하기를 바랍니다.
먼저 나는 내 요청이 UI 스레드를 차단하기 때문에, 활동 표시 등의 깜박임 (대부분 아무것도) 상한값하지에 이르게[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
[self downloadFunction];
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
을 사용했습니다.
컨트롤러에 밀어 넣기 전에 다운로드 할 수있는 데이터에 의존하기 때문에 downloadFunction을 배경으로 놓을 수 없습니다 ("동일한 뷰 컨트롤러 인스턴스를 두 번 이상 푸시하는 것이 지원되지 않습니다."라는 오류가 발생할 수 있습니다. 버튼을 두 번 이상 클릭 할 수 있음).
은 그럼 뷰의 상단에 회전 바퀴와 서브 뷰를 넣어 시도 ...[self performSelectorInBackground:@selector(showActivitySubView) withObject:nil];
or
[NSThread detachNewThreadSelector: @selector(showActivitySubView) toTarget:self withObject:nil];
여전히 UI가 차단 내 표시등이 그냥 완료 다운로드 후 표시됩니다
아이디어가 있으십니까?
고마워요! 그것은 저를 위해 일했습니다 ... 네트워크 활동을 나타내는 데있어서, doActualWork가 시작되기 전에 실행될 뷰에 UIActivityIndicatorView가있는 또 다른 하위 뷰를 추가 했으므로 다운로드가 UI를 차단할 것이므로 아무에게도 신경 쓰지 않아도됩니다. 버튼을 두 번 :-) –