2012-07-21 5 views
6

In Android können Sie mit Fragmenten nur eine App entwickeln, die auf Telefone und Tabellen ausgerichtet ist, sodass Sie unterschiedliche Benutzeroberflächen haben können. Sie können sogar nur Layouts verwenden und eine Bedingung für den Code zum Ausführen von Tablet- oder Telefonlogik haben.iOS entspricht Android-Fragmenten/Layouts

Ich muss eine App für iPhone und iPad entwickeln und ich frage mich, ob es etwas ähnliches für die Implementierung verschiedener UIs und geringfügig anderes Verhalten gibt. In meinem Fall würde die iPhone App Tabs am unteren Rand des Bildschirms verwenden, aber das iPad sollte das Menü auf der linken Seite verwenden.

Antwort

2

Ja, Sie können verschiedene Benutzeroberfläche für iPhone und iPad verwenden. Erstellen Zwei XIB Dateien und wenn sie auf dem Bildschirm verwenden diesen Zustand zeigt die XIB

UIViewController *viewController; 
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 
    viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil] autorelease]; 
} else { 
    viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil] autorelease]; 
} 
[self.navigationController pushViewController:viewController animated:YES]; 
+0

Ich denke, mit dieser Technik könnte ich auf die kleinen Unterschiede auf der Logik auf dem Controller kümmern, nicht wahr? Ich möchte vermeiden, Code zu duplizieren, habe aber gelegentlich ein unterschiedliches Verhalten. – momo

+0

@momo das ist die Art, wie ich es auch mache. – huesforalice