2016-03-31 10 views
-1

Wie passen Größe für iphone 5s, iphone 6s und iphone 6plus.objective-c iOS-App-Layout

Muss ich separaten Storyboard zu machen brauchen, wenn so könnte man jede Stelle mir sagen, wie für eine bestimmte View-Controllerseparaten Storyboard zu machen.

+0

bitte Tag, die Sprache, die Sie verwenden wie 'objective-c' oder 'swift' @Manzoor –

Antwort

0

Bitte verwenden Sie kein separates Storyboard für jede Bildschirmgröße. Das System enthält Funktionen speziell, so dass Sie dies nicht tun müssen.

Apple bietet viele wirklich großartige Dokumentation zu diesem Thema online. Ich würde empfehlen, dass Sie mit dieser Seite starten:

https://developer.apple.com/design/adaptivity/

Insbesondere gibt es Informationen zu Auto-Layout und NSLayoutConstraint nachschlagen möchten. Es gibt mehrere WWDC-Videos (verlinkt von der obigen Seite), die das Thema diskutieren.

+0

danke für Ihre Kommentare –

0

Wenn Sie AutoLayout verwenden, sind für jedes Gerät keine separaten Storyboards erforderlich. AutoLayout verwaltet alle Dinge für Sie, wenn Sie geeignete Einschränkungen und Größenklassen bereitstellen.

Wenn Sie wirklich eine separate Storyboards für jedes Gerät müssen so hier ist die Lösung:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

UIViewController *initialViewController = nil; 
UIStoryboard *storyboard; 
if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone) 
{ 
    CGSize iOSDeviceScreenSize = [[UIScreen mainScreen] bounds].size; 
    if (iOSDeviceScreenSize.height == 667) 
    { 
     storyboard = [UIStoryboard storyboardWithName:@"6board" bundle:nil]; 
     initialViewController = [storyboard instantiateInitialViewController]; 
    }else if (iOSDeviceScreenSize.height == 736){ 
     storyboard = [UIStoryboard storyboardWithName:@"6plus" bundle:nil]; 
     initialViewController = [storyboard instantiateInitialViewController]; 
    }else{ 
     storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
     initialViewController = [storyboard instantiateInitialViewController]; 
    } 
}else{ 
    storyboard = [UIStoryboard storyboardWithName:@"ipadboard" bundle:nil]; 
    initialViewController = [storyboard instantiateInitialViewController]; 
} 
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    [self.window makeKeyAndVisible]; 
    self.window.rootViewController = initialViewController; 

StoryBoards for diffrent devices

hoffen, dass es Ihnen geholfen ... Happy Codding

+0

Wie automatisches Layout programmgesteuert hinzufügen? –

Verwandte Themen