/ / Einige Zeit App iPhone XIB zum Laden des Controllers - iOS, SWIFT, iOS8, XIB

Irgendwann App nehmen iPhone XIB Controller laden - ios, swift, ios8, xib

Ich erstelle eine Anwendung mit der neuen schnellen Sprache von Apple.

Die Anwendung ist universell, so dass ich XIB mit dem Operator "~" erstellt habe. Mögen "MyView ~ iphone.xib" und MyView ~ ipad.xib " . Aber selbst wenn meine Anwendung auf dem iPad ausgeführt wird, wird manchmal die iPhone-Schreibfeder geladen.

Ich habe viele Optionen ausprobiert, stehe aber immer noch vor dem gleichen Problem.

Die Leute denken vielleicht, dass dies niemals passiert, aber ich stehe vor diesem Problem.

Antworten:

0 für die Antwort № 1

Es wäre besser, den Code zu sehen, aber ich denke, Ihre Lösung ist wie folgt

BOOL isPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
UIViewController *myViewController = [[UIViewController alloc] initWithNibName:isPad?@"MyView~ipad.xib":@"MyView~iphone.xib" bundle:nil];

0 für die Antwort № 2

Versuchen Sie, Größenklassen in Interface Builder zu verwendenund du brauchst keine unterschiedlichen xibs für iPhone und iPad. Du kannst die Größenklassen nutzen und Einschränkungen im Storyboard für jede der Größenklassen festlegen. Ich empfehle dir, sie dir anzusehen WWDC 2014: Sitzung 216.


0 für die Antwort № 3

Ich hatte ein Problem wie dieses mit Ziel C, aber das war schon in iOS 6, ich weiß nicht, ob dies Ihr Problem beheben könnte, aber

Versuchen Sie, die Dateien umzubenennen als

MyView~iphone.xib for iPhone
MyView.xib for iPad

Anstatt von

MyView~iphone.xib
MyView~ipad.xib

Ich würde Ihnen raten, Größenklassen zu verwenden, da dies zukunftssicher ist.