iOS programming in 2010

Jak wymusić start aplikacji w trybie landscape

Posted: January 9th, 2011 | Author: | Filed under: Xcode solutions | Comments Off on Jak wymusić start aplikacji w trybie landscape

Aby wymusić tryb landscape musimy w kontrolerze, którego dotyczy operacja ustawić odpowiednią odpowiedź na metodę shouldAutorotateToInterfaceOrientation:

(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (UIInterfaceOrientationIsLandscape(interfaceOrientation));
}

Jeżeli musimy zadbać o to, aby przy starcie aplikacji nasz ekran Default.png wyÅ›wietlaÅ‚ siÄ™ w orientacji Landscape z uwzglÄ™dnieniem obydwu wariantów – prawego i lewego. W tym celu w pliku Info.plist musimy dodać parametr:

<key>UIInterfaceOrientation</key>
<string>UIInterfaceOrientationLandscapeLeft</string>

A dodatkowo, dla zapewnienia poprawnej obsługi prawej i lewej strony:


<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>

W przypadku konieczności "przebudowania" widoku przy obrocie aplikacji musimy zadbać o poprawną obsługę metody:

(void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
[self relayoutViews];
}