2011-06-23 71 views
4

我已經將zxing庫集成到我的應用程序中,但我的一部分要求是能夠不斷掃描QR碼。 我已經在一定程度上通過解散和重新呈現zxing小部件來實現這一點,但它似乎對我的客戶來說太慢了。 是否有其他方法重置小工具以再次開始掃描?zxing連續掃描 - iphone

回答

13

你將不得不篡改ZXing庫,幸運的是它並不難。

添加以下方法給ZXingWidgetController

在ZXingWidgetController.h

- (void)reset; 

在ZXingWidgetController.m現在

- (void)reset 
{ 
    decoding = YES; 
    [overlayView setPoints:nil]; 
    wasCancelled = NO; 
} 

,在斑馬線的委託,編輯下面的方法

- (void)zxingController:(ZXingWidgetController*)controller didScanResult:(NSString *)result 
{ 
    //Handle your result as you want to 

    [controller reset]; 
} 

請確保您不要撥打[self dismissModalViewControllerAnimated:NO];,因爲它會刪除掃描視圖。

+0

謝謝,這對我來說非常有用! – Spawnrider

0

爲什麼不試試另一個偉大的庫ZBar - http://zbar.sourceforge.net/
它很容易,總是爲我工作!如果您在應用中掃描QR碼,您必須仔細查看。

+0

ZBar不支持帶相機的新款iPod Touch,也不支持iPhone 3g,無論圖像多麼銳利。 (或者當我最後一次嘗試時)。這就是爲什麼我切換到zxing。 zbar也有更嚴格的許可證,這可能是一個問題。 – geon

+0

@geon,ZBar上的許可證是LGPL 2.1,這對於應用商店使用(根據他們的FAQ)是正確的*但用戶有權爲您的應用程序請求目標文件,以便他們可以重新編譯它。不好! –