Установить ориентацию интерфейса 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];
Другие вопросы по тегам