216x20 px のストーリーボードから作成された ZBarReaderView を持っています。これは、ZBarReaderView がそのサイズをあまり深刻に考えていないため、およそ 230x50 px として表示されます...すべてうまく機能しますが、その readerView で start を呼び出すと、非常に奇妙な動作をします. カムを開始しますが、おそらく0.5秒でreaderViewが少しズームし、readerView内のカメラ画像が下に移動してから再び上に移動します。悪くはないけど見た目が悪い。これを引き起こしている可能性のあるものと、それを解決する方法を知っている人はいますか? おそらく、sdk にはスキャナーの準備のための何らかの隠しコールバックがあります。スキャナーが準備ができていると言うまでそれを非表示にしてから、.5 秒後にスキャナーを表示することができます...
バーコードリーダーは、ZBarReaderView への ioutlet であり、scannerLoading は、スキャナーがロードされるまでアニメーション化されている uiactivityindicatorview への ioutlet です。もちろん、ストーリーボードに設定されているフレームを除いて、これらはデフォルトから変更された唯一の設定です。
[barcodeReader setReaderDelegate:self];
[barcodeReader setAllowsPinchZoom:false];
[barcodeReader start];
/* this works because [barcodeReader start] blocks ui updates until the scanner
is running, i know it's not a good solution but since there doesn't seem to
be a callback or delegate method like scannerDidStart or something it seems
to be the only way... */
[scannerLoading stopAnimating];
ご協力いただきありがとうございます!