我有一个从情节提要创建的 ZBarReaderView,大小为 216x20 像素,显示为大约 230x50 像素,因为 ZBarReaderView 并没有把它的大小看得太严重......这一切都很好,但是当我在那个 readerView 上调用 start 时它的行为真的很奇怪. 它启动了凸轮,但可能在半秒后,readerView 会放大一点,并且 readerView 内的相机图片向下移动,然后再次向上移动。这并不可怕,但看起来有点糟糕。任何人都有任何想法可能导致这种情况以及如何解决它?也许 sdk 对扫描仪的准备情况有某种隐藏的回调,我可以隐藏它,直到扫描仪说它准备好了,然后在 0.5 秒后显示扫描仪......
barcodeReader 是 ZBarReaderView 的 iboutlet,scannerLoading 是 uiactivityindicatorview 的 iboutlet,它在扫描仪加载之前一直处于动画状态。这些是唯一从默认更改的设置,当然故事板中设置的框架除外。
[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];
谢谢你的帮助!