Ich habe eine BOOL
namens isUsingiPad
eingerichtet, um zu erkennen, wenn mein Benutzer ein iPad verwendet. Früher habe ich dies so tun:Erstellen einer iPad Nib laden in einer universellen App
UIDevice* userDevice = [UIDevice currentDevice];
if (userDevice.userInterfaceIdiom == UIUserInterfaceIdiomPad) {
isUsingiPad = YES;
}
Wenn meine Anwendung zum ersten Mal gestartet wird, überprüft, ob das Gerät verwendet, um durch meine Anmeldung gegangen ist. Wenn dies der Fall ist, sendet es den Benutzer an den Haupt-View-Controller meiner App. Wenn jedoch ein registrierter Benutzer (der ein iPad verwendet) sich registriert, die App schließt und sie dann erneut öffnet, werden sie an die iPhone-Spitze anstatt an das iPad gesendet. Ich habe 2 Nibs für jede Ansicht in meiner App. Eine für iPhone und eine für iPad. Es gibt einen einzigen View Controller, der jeden Satz von 2 steuert. Ich habe den Code bereits implementiert, um zu handhaben, ob es ein iPhone oder ein iPad ist. Meine Frage ist folgende: Was soll ich hinzufügen, um sicherzustellen, dass ein Benutzer jedes Mal auf die iPad-Spitze kommt? Wo füge ich das hinzu? Ich kann diese Frage bearbeiten, um jeden notwendigen Code einzuschließen. Danke im Voraus.
Bearbeiten: Aktualisierte -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:
Methode.
nun darauf achten, dass Ihre Benutzer jedes Mal auf den richtigen Bildschirm zurückgeführt wird, abhängig von:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
UIDevice* userDevice = [UIDevice currentDevice];
if (userDevice.userInterfaceIdiom == UIUserInterfaceIdiomPad) {
isUsingiPad = YES;
}
if (!isUsingiPad) {
self.viewController= [[PassportAmericaViewController alloc] initWithNibName:@"PassportAmericaViewController" bundle:nil];
} else {
self.viewController = [[PassportAmericaViewController alloc] initWithNibName:@"PassportAmericaViewController-iPad" bundle:nil];
}
self.window.rootViewController = self.viewController;
[self.window addSubview:navigationController.view];
[self.window makeKeyAndVisible];
return YES;
}
Danke. Ich füge das in ein paar Minuten hinzu und markiere die Antwort, damit du die Wiederholung bekommst. – tallybear
Ich bin ein wenig verwirrt. Was sollte ich verwenden, um "viewController" in "self.viewController" zu ersetzen? Ich bekomme einen Fehler, der besagt, dass viewControler nicht im Objekt gefunden wurde. – tallybear
Wo implementieren Sie dies, in Ihrer ViewControl-Implementierungsdatei oder in Ihrem AppDelegate? –