동작 표시 블록
답변
당신은 당신의 완료 블록에서 활동 표시를 중지해야합니다 블록 후이 코드를 추가
[self setQRCodeScannerMode:false];
[self.activityIndicator startAnimating];
TBXMLSuccessBlock successBlock = ^(TBXML *tbxmlDocument) {
if ([[TBXML elementName:tbxmlDocument.rootXMLElement] isEqualToString:@"xxxxxx"]){
[self setQRCodeScannerMode:true];
} else {
[self setQRCodeScannerMode:true];
}
[self.activityIndicator stopAnimating];
};
이것은 완료 블록이 주 스레드에서라고 가정합니다. 완료 블록이 할 수있는 주 스레드에서 호출된다는 보장이없는 경우 : 블록 사용 후
[self setQRCodeScannerMode:false];
[self.activityIndicator startAnimating];
TBXMLSuccessBlock successBlock = ^(TBXML *tbxmlDocument) {
if ([[TBXML elementName:tbxmlDocument.rootXMLElement] isEqualToString:@"xxxxxx"]){
[self setQRCodeScannerMode:true];
} else {
[self setQRCodeScannerMode:true];
}
if ([NSThread isMainThread]) {
[self.activityIndicator stopAnimating];
} else {
dispatch_async(dispatch_get_main_queue(), ^{
[self.activityIndicator stopAnimating];
});
}
};
좋습니다. 그러나 호기심에서 벗어나 다른 일을하는 것이 마지막입니다. 나는 그것을 얻지 못했다 –
stopAnimating에 대한 호출 (모든 UI 메소드와 마찬가지로)은 주 스레드에서 수행되어야한다. 이 검사가 주 스레드인지 확인한 다음 움직이는 것을 중지합니다. 그렇지 않으면 주 스레드가 아닌 경우 호출을 호출하여 주 스레드에 애니 메이팅을 중지합니다. – rmaddy
지금 알았습니다. 감사합니다 –
당신이 할 수있는 한 가지는 다른 스레드, 즉 주 스레드가 아닌 표시기로 작업하는 것입니다. NSOperationQueue 및 NSInvocationOperation을 사용할 수 있습니다.
[self.activityIndicator stopAnimating]을 호출해야합니다. 당신이 그것을 끝내고 나면, 당신을 위해 일하지 않으면, 이것을 시도하십시오!
[self.activityIndicator performSelector:@selector(stopAnimating) withObject:nil afterDelay:0.1];
희망 하시겠습니까!
단순히
[self.activityIndicator stopAnimating];
- 1. 캐치 블록 동작
- 2. atomicCAS : 블록 내 동작
- 3. IE6에서 블록 표시 버그
- 4. onclick을 표시 블록
- 5. VS2010 블록 강조 표시
- 6. 동작 표시 인식
- 7. 이상한 창 표시 동작
- 8. 웹킷 디스플레이 : 인라인 블록 일관성없는 동작
- 9. 레일 : 블록 특정 작업을 기반으로 동작
- 10. 디스플레이의 페이드 효과 = 자바 스크립트의 "블록"동작
- 11. CSS와 블록 표시 오류 개요
- 12. 한 행의 두 블록 표시
- 13. 이미지를 블록 요소로 표시 하시겠습니까?
- 14. IE7의 인라인 블록 표시 문제
- 15. 사용자 관계 모듈 블록 표시
- 16. 트리거에서 PHP 프로세스 표시 : 블록
- 17. 플로팅 스페이싱 후 표시 블록
- 18. Drupal 프로그래밍 방식으로 블록 호출, 블록 제목 표시 안함
- 19. 동작 문자에 문자 기호 표시
- 20. iPad - 피커보기로 동작 시트 표시
- 21. 센터 SearchView 동작 표시 줄
- 22. show/hide() 블록 레벨 요소의 너비/동작 변경?
- 23. 보여주는 블록 : "블록"
- 24. 가운데 표시 : CSS 플로트가있는 블록 링크가 왼쪽
- 25. Magento 홈 페이지에 맞춤 블록 표시
- 26. 디스플레이 블록 표시 없음 jquery를 사용하여
- 27. 지점 아래의 블록 범위를 강조 표시 하시겠습니까?
- 28. 표시 젠토 정적 블록 product_list의 모든 제품
- 29. 차트 안에 값이있는 텍스트 블록 표시
- 30. 드루팔 (Drupal 7 - 섀도우 박스에 블록 표시?
가'[self.activityIndicator stopAnimating]은,'I'MPOSSIBLE @ – Venkat
: 그것은 양보하지 않을 것이다 올바른 출력. 그것을 표시 한 직후 표시기를 멈추게합니다. –
별도의 스레드에서 검사를 실행하고 있습니까? 그렇다면 활동 지시계를 멈출 때 제어가 주 실행 루프로 돌아 갔는지 확인하십시오. 이것은 지연을 설명 할 수 있습니다. – sooper