Установить ориентацию интерфейса ZBar iOS SDK?

Кто-нибудь знает, как настроить ориентацию интерфейса для ZBar SDK? Мне нужно, чтобы он работал в альбомной ориентации, а не в портретной. Я пробовал добавить [reader shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight];, но это не сработало. Любые идеи?


person user1486548    schedule 04.09.2012    source источник


Ответы (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.

person Holyprin    schedule 30.09.2012

У меня такая же проблема, и я с радостью ее решил!

Мне просто нужно было позвонить:

[reader willRotateToInterfaceOrientation: toInterfaceOrientation duration: duration];

внутри willRotate ... контроллера представления, содержащего ZbarReaderView.

person user2241649    schedule 03.04.2013

Я не совсем понимаю, что вы имеете в виду, но, возможно, это вам поможет ...

[[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationLandscapeLeft animated:NO];

or

[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeLeft];
person Dekel Maman    schedule 26.09.2012