2010-08-07 4 views
0

У меня есть приложение для iPad, которое мне абсолютно необходимо иметь в просто пейзаж, я знаю ситуацию с предложениями, но для этого приложения должен быть ландшафтом.IPad Ориентация вопрос - одна ориентация или все четыре - не может просто получить два на работу

Теперь вот моя проблема.

Я Editted мой .plist файл для поддержки как пейзаж левый и правый пейзаж соответствующим образом и положить АВТОПОВ фрагмент кода в мой код, но если у меня есть эта

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
// Return YES for supported orientations 
/*if (autorotateOrientation && tapViewOrientation != interfaceOrientation && !insecureKeyboardWarningDialog) { 
    tapViewOrientation = interfaceOrientation; 
    [[NSUserDefaults standardUserDefaults] setInteger:tapViewOrientation forKey:kDefaultKeyTapViewOrientation]; 
*/ 
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); 

[self prepareTapView]; 

// вернуть NO; }

я получаю только пейзаж левый (очевидно)

, если у меня есть эта

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
// Return YES for supported orientations 
/*if (autorotateOrientation && tapViewOrientation != interfaceOrientation && !insecureKeyboardWarningDialog) { 
    tapViewOrientation = interfaceOrientation; 
    [[NSUserDefaults standardUserDefaults] setInteger:tapViewOrientation forKey:kDefaultKeyTapViewOrientation]; 
*/ 
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft, UIInterfaceOrientationLandscapeRight); 

[self prepareTapView]; 

// вернуть NO; }

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

Может ли кто-нибудь предположить, что я делаю неправильно, и как ограничить себя только пейзажем, но обе формы ландшафта?

+0

'interfaceOrientation == UIInterfaceOrientationLandscapeLeft, UIInterfaceOrientationLandscapeRight' * очень * неудобно. Он не сравнивается с «LandscapeLeft» и «LandscapeRight», но сначала сравнивает vs 'LandscapeLeft', а затем * просто возвращает значение' LandscapeRight' *, которое отличное от нуля, например. 'YES'. Не делай этого! – MrMage

ответ

1
return UIInterfaceOrientationIsLandscape(interfaceOrientation); 
+0

Genius. Я знал, что это должно быть чем-то больно простым. Большое спасибо. – David26th