Od zbar na ZBarReaderView Class documentation:
CGRect scanCrop
Region obrazu wideo, które będą skanowane w znormalizowanego obrazu współrzędne. Zauważ, że obraz wideo jest w trybie poziomym (domyślnie {{0, 0}, {1, 1}})
Współrzędne dla wszystkich argumentów jest w znormalizowanej pływaka, który wynosi od 0 - 1 Tak więc, w znormalizowanej wartości, theView.width
wynosi 1.0, a theView.height
jest 1.0. Dlatego domyślny rect to {{0,0}, {1,1}}.
Na przykład, jeśli mam przezroczysty UIView
o nazwie scanView
jako region skanowania dla mojego readerView
. Zamiast zrobić:
readerView.scanCrop = scanView.frame;
Powinniśmy to zrobić, normalizowanie co argumenty pierwszy:
CGFloat x,y,width,height;
x = scanView.frame.origin.x/readerView.bounds.size.width;
y = scanView.frame.origin.y/readerView.bounds.size.height;
width = scanView.frame.size.width/readerView.bounds.size.width;
height = scanView.frame.size.height/readerView.bounds.size.height;
readerView.scanCrop = CGRectMake(x, y, width, height);
To działa na mnie. Nadzieja, która pomaga.
Chciałabym upvote cię dwa razy, dzięki! – chourobin
Jeśli Twój czytnik będzie portretem, a nie pejzażem, zobacz [ten post] (http://stackoverflow.com/a/11732752/542400) – AMayes