Moim wymaganiem jest to, że UITabBarController jest kontrolerem rootview i przy pierwszym uruchomieniu aplikacji chcę pokazać procedurę logowania, która jest wewnątrz UINavCon, i wyświetlam ją przez presentViewController
.Can [self.window makeKeyAndVisible]; dzwoń przed ustawieniem rootviewcontroller
Nie chcę, aby kontroler UITabBarController był widoczny po raz pierwszy i nie chcę się logować, jak UINavCon pojawia się jako modalny.
Chcę sprawić, aby użytkownik miał wrażenie, że jeśli aplikacja zostanie uruchomiona po raz pierwszy, powinien pojawić się znak UINavCon. Więc tutaj jest mój kod:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window makeKeyAndVisible];//is it correct to call it here?
LoginVC *loginObj = [[LoginVC alloc]init];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:cellPhoneNumber];
self.tabBarController = [[UITabBarController alloc]init];
self.window.rootViewController = self.tabBarController;
[self.tabBarController presentViewController:self.navigationController animated:NO completion:^{}];
return YES;
}
Wołam [self.window makeKeyAndVisible];
na drugiej linii zaraz po uiwindow
alloc
init
. Czy to jest poprawne, czy mogę napotkać problemy takie jak viewcontroller, który nie otrzymuje powiadomień o zdarzeniach lub orientacjach?
Wielkie dzięki za odpowiedź, proszę, możesz mi powiedzieć, że zwykle mamy tylko jedno uiwindow w przypadku wyjścia zewnętrznego, to mamy kolejne uiwindow. Domyślnie tak jak w moim przypadku uiwindow jest na indeksie 0, a jabłko również mówi: "Jest to wygodna metoda, aby odbiornik był głównym oknem i wyświetlał go przed innymi oknami." co mają na myśli przed innymi oknami. –
nic nie powstrzyma cię od posiadania wielu okien. na przykład często masz już 2 lub więcej .. twoje i okno klawiatury! –