2014-01-21 1 views
0

보기가 열려있는 동안 일부 코드가 실행되는 것을 중지해야하므로 UIActivityViewController에 연결하려고합니다.UIActivityViewController 열기 및 닫기 이벤트

보기를 닫으면 수업을 다시 시작해야합니다. 이 번 작동하는 것 같다

[self presentViewController:activityController animated:YES completion:^{ 
    [self.qrScannerView stop]; 
}]; 

하지만 나중에는 실행을 계속합니다 :이 열릴 때

UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil]; 
[activityController setTitle:code]; 
[activityController setExcludedActivityTypes:self.excludedItems]; 
[activityController setCompletionHandler:^(NSString *activityType, BOOL completed) { 
    self.label.text = @"Scanning..."; 
    [self.qrScannerView start]; 
}]; 

는, 나는 그것을 중지해야합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

아마도 블록의 '자체'에 대한 참조와 관련이 있을까요? http://stackoverflow.com/questions/21113963/is-the-weakself-strongself-dance-really-necessary-when-referencing-self-inside-a –

+0

Ah. 나는 그것을 알아. 내'start'와'stop' 이벤트는'_canScan'이 올바른 bool 값일 경우에만 발생합니다. 그들은 그들이 완수보다 빨리 되돌아 가고있는 것처럼 보입니다. – James

답변

0

이것은 사용자 정의 클래스가 stoppedstarted의 값을 너무 빨리 변경하여 너무 가까이서 닫을 수 없기 때문에 발생했습니다.