2014-01-21 130 views
0

我試圖掛接到UIActivityViewController,因爲我需要在視圖打開時停止運行一些代碼。UIActivityViewController打開和關閉事件

當視圖關閉時,我需要再次開始我的課程。

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]; 
}]; 

而且它打開時,我需要停下來:

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

這似乎是工作一次,但後來它會繼續這樣做運行。我究竟做錯了什麼?

+0

也許與塊中對'self'的引用有關? http://stackoverflow.com/questions/21113963/is-the-weakself-strongself-dance-really-necessary-when-referencing-self-inside-a –

+0

啊。我想到了。如果'_canScan'是正確的布爾值,我的'start'和'stop'事件只會觸發。看起來他們比落後更快。 – James

回答

0

這是由於我的自定義類更改值stoppedstarted太快,所以我永遠無法關閉。