Установить ориентацию интерфейса ZBar iOS SDK?
Кто-нибудь знает, как установить ориентацию интерфейса для ZBar SDK? Мне нужно, чтобы он работал в альбомной ориентации, а не в портретной. Я пытался добавить [reader shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight];
но это не сработало. Есть идеи?
3 ответа
Создайте класс-оболочку для ZBarReaderView и добавьте методы iOS 6:
-(BOOL) shouldAutorotate
{
return NO;
}
-(NSUInteger) supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
Затем используйте класс, который вы создали поверх встроенного ZBar, убедитесь, что старые методы iOS 5 хранятся в одном контроллере:
- (BOOL)shouldAutorotateToInterfaceOrientation (UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscape);
}
а также:
self.reader.supportedOrientationsMask = ZBarOrientationMask(UIInterfaceOrientationMaskLandscape);
Я знаю, что уже поздно, но я просто решил заняться этим для iOS 6.
Я получил ту же проблему и решил ее вежливо!
Мне просто нужно было позвонить:
[reader willRotateToInterfaceOrientation: toInterfaceOrientation duration: duration];
в willRotate... контроллера представления, который содержит ZbarReaderView.
Я не совсем уверен, что вы имеете в виду, но, возможно, это поможет вам...
[[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationLandscapeLeft animated:NO];
или же
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeLeft];