プロジェクトの1つでZBariPhoneSDKを使用しています(iOS SDK 5.1、XCode 4.4.1、およびiOS 5.5.1を実行しているデバイス)。SDk自体で提供されている例の組み込みスキャナーを使用しています。
今私が直面している問題は、バーコードを正常にスキャンして別のビューコントローラーに移動することです(ナビゲーションコントローラーを使用)。私が戻ってきたとき(2番目のビューコントローラーをポップ)、スキャナー、つまりZBarReaderViewは後続のバーコードをスキャンしません。実際、オーバーレイにはスキャンされたバーコードのぼやけた画像が表示され、正しくスキャンできません。
これが私が実装したすべてです。BarScannerViewController.h
私は宣言しました
ZBarReaderView* readerView;
プロパティ付き
@property (nonatomic , retain) IBOutlet UIImageView* imgvScannedBarCode;
これで、これはxibのビューの1つに接続されます。
最後に、必要なメソッドを次のように設定します-
- (void)viewDidLoad {
[super viewDidLoad];
// the delegate receives decode results
readerView.readerDelegate = self;
[readerView start];
}
- (void) viewDidAppear: (BOOL) animated {
// run the reader when the view is visible
[activityIndicatorScanning startAnimating];
[readerView start];
}
- (void) viewWillDisappear: (BOOL) animated {
[activityIndicatorScanning stopAnimating];
[readerView stop];
}
バーコードをスキャンするときにこれらすべてを設定すると、初めてEAN123と言うと、電話がかかってきます
- (void) readerView: (ZBarReaderView*) view
didReadSymbols: (ZBarSymbolSet*) syms
fromImage: (UIImage*) img
{
// do something useful with results
ZBarSymbol *symbol = nil;
for(symbol in syms) {
barCodeFound = YES;
break;
}
// EXAMPLE: do something useful with the barcode data
NSLog(@"%@",symbol.data);
}
しかし、その後の実行では(ビューを押してこの画面に戻った後)、ビューがぼやけます。
私はここで何かが欠けていますか?ヘルプ/提案/コメントがあれば役に立ちます。