2012-12-13 2 views
2

Я использую ZBarSDK для сканирования QR-кодов с помощью iPad. Я успешно работаю в данный момент. Тем не менее, код, который я в настоящее время открывает камеру в полноэкранном модульном контроллере, но я хочу встроить просмотр камеры внутри UIView.Вставить камеру ZBar в UIView

Это мой код в его нынешнем виде, который отлично работает в качестве модального контроллера. Но я хочу показать камеру в UIView, который я создал под названием «showCamera». Я искал сеть и эти форумы, и были некоторые похожие вопросы, но не дал код в ответе.

ZBarReaderViewController *reader = [ZBarReaderViewController new]; 
reader.readerDelegate = self; 
reader.showsZBarControls = TRUE; 
reader.cameraDevice=UIImagePickerControllerCameraDeviceFront; 

reader.readerView.torchMode = 0; 

ZBarImageScanner *scanner = reader.scanner; 
[scanner setSymbology: ZBAR_I25 
       config: ZBAR_CFG_ENABLE 
        to: 0]; 

// present and release the controller 
[self presentModalViewController: reader animated: YES]; 

Как я уже говорил ранее, UIView Я хочу, чтобы показать камеру является:

@property (strong, nonatomic) IBOutlet UIView *showCamera; 

Заранее спасибо!

ответ

3

До iOS 4 камера всегда будет открываться в полноэкранном режиме. Что вы можете сделать, это наложить часть этого экрана на свой собственный вид. Вы можете сделать это, поставив свой взгляд на нем (с прозрачной областью):

reader.cameraOverlayView = myView; 

С IOS 4 + вы можете использовать readerView. Поскольку это просто UIView, вы можете использовать его, как и любое другое представление. Например:

readerView = [ZBarReaderView new]; readerView.frame = CGRectMake(...); // other view setup... [self.view addSubview: readerView]; 
+0

спасибо. Но я думал, что у ZBar есть «просмотр читателя» (ZbarReaderView), который можно использовать для моих целей? Просто пытаюсь найти, как использовать его, поскольку собственная документация ZBar не включает в себя, как это сделать, и говорит «вы сами». – Bobster4300

+0

Аппетитно, так как iOS 4+ вы можете использовать readerView. Поскольку это просто UIView, вы можете использовать его, как и любое другое представление. например: readerView = [ZBarReaderView new]; readerView.frame = CGRectMake (...); // другой вид настройки ... [self.view addSubview: readerView]; –

+0

Мне удалось получить показ камеры в UIView, но получить сообщение об ошибке при сканировании кода. Я задал новый вопрос. Я рад принять ваш ответ Эдвин, если вы сделаете правильный ответ? – Bobster4300