Probieren Sie meine Hand bei einem universellen Projekt, ich möchte eine VC nach Bezeichner aus Storyboard laden. Gibt es eine Möglichkeit, eine explizite Überprüfung des Idioms beim Zugriff auf das Storyboard zu vermeiden?Holen Sie sich das Haupt-Storyboard in Universal-App
Dieser hässliche Code funktioniert ....
UIStoryboard *storyboard;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil];
}
else {
storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
}
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"MyViewController"];
Aber igitt. Das String-Literal-Haupt-Storyboard ist schwer genug anzusehen (nicht sicher, warum das Projekt keine Haupt-Storyboard-Einstellung speichern kann, so dass Apps [UIStoryboard mainStoryboard] sagen können;), aber die explizite Idiom-Prüfung ist eine Brücke zu weit.
Gibt es versteckte Intelligenz (vergleichbar mit "@ 2x" -Bildsuffixen, die Retina-Displays unterstützen), die diesen Code bereinigen könnten?
Danke. Zwei Vögel mit einem Stein. Ich wünschte, ich könnte zweimal upvotieren. – danh
Danke Desmond! – Oritm