2016-05-21 3 views
0

Ich verwende die Master-Detail-Anwendung Vorlage von Xcode, und ich wollte eine einfache Login-Seite erstellen. Ich weiß, wie man nach den Benutzernamen-Passwort-Kombinationen sucht, aber ich weiß einfach nicht, wie ich die Ansicht im Storyboard einstellen soll. Ich habe das verwendet: enter image description here für mein Storyboard, aber wenn ich auf die Schaltfläche klicke, führt es zum Detail View Controller statt zum Master View Controller. Nachdem ich dem alten "Your Second iOS App" -Tutorial von Apple Developer gefolgt war, würden die Cancel/Done-Buttons im Add View Controller direkt zur Login-Seite führen (sie sollte zum Master View Controller führen). Im Wesentlichen habe ich mich gefragt ... gibt es eine andere Möglichkeit, eine Ansicht zu erstellen, auf die nur einmal während der gesamten Nutzung der App zugegriffen wird?So erstellen Sie eine Login-Seite in iOS

Antwort

0

Sie müssen UISplitViewControllerDelegate implementieren, um zu bestimmen, welcher Ansicht-Controller zuerst auf dem Telefon angezeigt wird. Zuerst sollten Sie Ihre Viewcontroller als konform mit dem UISplitViewControllerDelegate Protokoll erklären:

@interface MyLoginViewController() <UISplitViewControllerDelegate> 

Dann in Ihrem Login prepareForSegue: Set View-Controller es als Delegierter der Split-View-Controller.

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    if ([segue.destinationViewController isKindOfClass:[UISplitViewController class]]) 
    { 
     UISplitViewController *splitVC = segue.destinationViewController; 
     splitVC.delegate = self; 
    } 
} 

Dann

#pragma mark - Split view 

- (BOOL)splitViewController:(UISplitViewController *)splitViewController collapseSecondaryViewController:(UIViewController *)secondaryViewController ontoPrimaryViewController:(UIViewController *)primaryViewController { 
    if ([secondaryViewController isKindOfClass:[UINavigationController class]] && [[(UINavigationController *)secondaryViewController topViewController] isKindOfClass:[DetailViewController class]] && ([(DetailViewController *)[(UINavigationController *)secondaryViewController topViewController] detailItem] == nil)) { 
     // Return YES to indicate that we have handled the collapse by doing nothing; the secondary controller will be discarded. 
     return YES; 
    } else { 
     return NO; 
    } 
} 

zu Ihrem Login-View-Controller hinzuzufügen.

Ich bin mir nicht sicher, warum abbrechen/done zu Ihrem Login abwickelt. Ich würde versuchen, den Übergang zwischen Ihrem Login-View-Controller und Split-View-Controller auf Modal zu ändern.

Verwandte Themen