у меня есть ZBarReaderView, созданный из раскадровки с размером 216x20 пикселей, который отображается примерно как 230x50 пикселей, потому что ZBarReaderView не слишком серьезно относится к своему размеру... Все это работает очень хорошо, однако ведет себя очень странно, когда я вызываю start для этого readerView . Он запускает камеру, но затем, возможно, через полсекунды readerView немного масштабируется, и изображение с камеры внутри readerView перемещается вниз, а затем снова вверх. Это не страшно, но выглядит как-то плохо. У кого-нибудь есть идеи, что может быть причиной этого и как это решить? Может быть, у sdk есть какой-то скрытый обратный вызов для готовности сканера, я мог бы скрыть его, пока сканер не скажет, что он готов, а затем показать сканер примерно через 0,5 секунды ...
barcodeReader — это iboutlet для ZBarReaderView, а scanLoading — это iboutlet для представления uiactivityindicatorview, которое анимируется до загрузки сканера. Это единственные настройки, которые отличаются от значений по умолчанию, за исключением, конечно, фрейма, установленного в раскадровке.
[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];
Спасибо за вашу помощь!