У меня это работает, но я не думаю, что он работает правильно, поэтому я просто хотел получить ваши отзывы. Я пытаюсь отобразить экран с двумя кнопками - один, который приведет вас к экрану входа в систему, и он позволит вам зарегистрироваться.Как сделать экран входа?
II тестирует в appDelegate, если они вошли в систему, а если нет, я показываю вид signLogIN.
signLogIN = [[LoginOrSignUPViewController alloc] init];
signLogIN.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
signLogIN.tabBarController = mainAPPTabBarController;
signLogIN.mainWindow = window;
[window addSubview:[signLogIN view]];
//[signLogIN release];
(я выпускаю в dealloc AppDelegate - если я выпускаю здесь взрывается, когда они выбирают либо входа в систему или зарегистрироваться).
Я стараюсь делать: -
[mainAPPTabBarController presentModalViewController:signLogIN animated:NO];
Но это не имеет никакого значения.
Любопытно, что я вижу, что dealloc в LoginOrSignUPViewController вызывается сразу - почему? Я не могу сказать, откуда его зовут.
С LoginOrSignUPViewController Я тогда отображение экрана входа в систему, выполнив: -
[self retainCount] = 1
LoginViewController *logINVC = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
logINVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
logINVC.delegate = self;
logINVC.tabBarController = self.tabBarController;
[self presentModalViewController:logINVC animated:YES];
[logINVC release];
now [self retainCount] = 3 = why did it go to three????
Как вы можете видеть, что есть делегат, который перезванивает зрения signLogIn, чтобы закрыть окно следующим образом: -
[self retainCount] = 3
[mainWindow bringSubviewToFront:tabBarController.view];
tabBarController.selectedIndex = 0;
[self.view removeFromSuperview];
[self dismissModalViewControllerAnimated:NO];
[self release];
[self retainCount] = 3 -- still 3 it never goes away
Итак, вот моя главная проблема. LoginOrSignUPViewController никогда не уходит, он просто сидит за моим основным видом. Единственная строка, которая имеет значение, - это [mainWindow bringSubViewToFront. У кого-нибудь есть идеи относительно того, как заставить LoginOrSignUPViewController исчезнуть?
Большое спасибо Шерил
Я не называю это от контроллера представления, но с моей AppDelegate. Возможно, я должен назвать это из контроллера просмотра, но я беспокоюсь, что первый контроллер представления в моем приложении может измениться, и я поймаю. Я думал, что безопаснее и чище загружать его из приложения appDelegate. – Cheryl
Поскольку этот VC вызывается только при истечении срока регистрации/входа в систему, лучшей практикой, вероятно, было бы показать его модально с чем-то вроде «Main View Controller», а не на его представление в окне. Вы можете сделать это таким образом, чтобы пользователь не видел контроллер представления под ним, пока они не уволили (путем регистрации или регистрации) модального. – christo16