2012-09-04 2 views
0

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

ответ

2

Создать класс-обертку 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); 

Я знаю, что уже поздно, но я только что получил вокруг, чтобы сделать это сам для прошивки 6.

0

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

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

или

[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeLeft]; 
2

я получил тот же вопрос, и решить его симпатичный!

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

[reader willRotateToInterfaceOrientation: toInterfaceOrientation duration: duration]; 

в willRotate ... контроллера вида, который содержит ZbarReaderView.