2010-03-25 2 views
1

У меня это работает, но я не думаю, что он работает правильно, поэтому я просто хотел получить ваши отзывы. Я пытаюсь отобразить экран с двумя кнопками - один, который приведет вас к экрану входа в систему, и он позволит вам зарегистрироваться.Как сделать экран входа?

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 исчезнуть?

Большое спасибо Шерил

ответ

0

пытались ли вы это в viewDidLoad ваш взгляд контроллера:

LoginOrSignUPViewController *signLogIN = [[LoginOrSignUPViewController alloc] init]; 
[self presentModalViewController:signLogIN animated:NO]; 
[signLogIn release]; 
+0

Я не называю это от контроллера представления, но с моей AppDelegate. Возможно, я должен назвать это из контроллера просмотра, но я беспокоюсь, что первый контроллер представления в моем приложении может измениться, и я поймаю. Я думал, что безопаснее и чище загружать его из приложения appDelegate. – Cheryl

+0

Поскольку этот VC вызывается только при истечении срока регистрации/входа в систему, лучшей практикой, вероятно, было бы показать его модально с чем-то вроде «Main View Controller», а не на его представление в окне. Вы можете сделать это таким образом, чтобы пользователь не видел контроллер представления под ним, пока они не уволили (путем регистрации или регистрации) модального. – christo16

Смежные вопросы