/ / Jak ustawić dwie różne opcje ekranu w xcode - ios, xcode, storyboard, rozmiar ekranu

Jak ustawić dwie różne opcje ekranu w xcode - ios, xcode, storyboard, screen-size

Ok, więc z xcode możesz mieć inny ekranrozmiary dla iPhone'a 5 i iPhone'a 4, kiedy próbuję umieścić rzeczy w pliku Storyboard, zawsze się mylą, jakbym umieścił wszystko w jedną stronę dla iPhone'a 5, a następnie został odcięty na iPhone 4. Czy istnieje sposób mieć dwie różne wersje serii ujęć, więc mogę ustawić obiekty dla każdego rozmiaru ekranu inaczej?

Odpowiedzi:

0 dla odpowiedzi № 1

Możesz to zrobić ręcznie w kodzie, wybierając storyboard na podstawie rozmiaru ekranu. Jednak nie sądzę, że istnieje sposób, aby to zrobić automatycznie, ponieważ tylko info.plist aplikacji ma Main storyboard file base name, Main storyboard file base name (iPad), i Main storyboard file base name (iPhone).

Aby to zrobić ręcznie, będziesz chciał załadować swój pierwszy kontroler widoku w delegacie aplikacji w następujący sposób:

//AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];
if ([UIScreen mainScreen].bounds.size.height == 568.0) {
//device is an iPhone 5 or 5S
storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard568Height" bundle:[NSBundle mainBundle]];
}
self.window.rootViewController = [storyboard instantiateInitialViewController];
[self.window makeKeyAndVisible];
}

Po załadowaniu kontrolera pierwszego widokuw ten sposób powinieneś być w stanie po prostu użyć tych znaków w tej serii ujęć, aby ponownie uniknąć tej logiki. Jeśli musisz ręcznie załadować kontroler widoku, możesz uzyskać dostęp do self.storyboard właściwość prądu UIViewController aby upewnić się, że korzystasz z prawidłowej serii ujęć bez sprawdzania wysokości ekranu.