У меня есть UIViewController с именем LoginViewController. UIViewController имеет два UITextField, имя пользователя и пароль. Это отображается как modalViewController при первом запуске приложения и отсутствии учетных данных в цепочке ключей. Когда пользователь нажимает кнопку входа в систему, отображаемая клавиатура закрывается. Код:
- (IBAction) loginClick: (UIButton *) sender
{
if ([username isFirstResponder]){
[username resignFirstResponder];
}
if ([password isFirstResponder]){
[password resignFirstResponder];
}
[RKObjectManager sharedManager].client.username = username.text;
[RKObjectManager sharedManager].client.password = password.text;
[progressLock lock];
[progressLock unlockWithCondition:0];
[HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES];
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/account/verify.json" objectClass:[Login class] delegate: self];
}
Теперь внутри приложения есть кнопка настроек. Когда это щелкнет, он представит modalViewController, в котором есть кнопка выхода из системы. Нажатие на эту кнопку выхода снова представит LoginViewController. Код:
- (IBAction) logout:(id)sender
{
NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
NSString * username = [standardDefaults stringForKey:@"kApplicationUserNameKey"];
NSError * error = nil;
[standardDefaults removeObjectForKey:@"kApplicationUserNameKey"];
[SFHFKeychainUtils deleteItemForUsername:username andServiceName:@"convore" error:&error];
LoginViewController* lvc = [[LoginViewController alloc] init];
lvc.delegate = self;
[self.mgvc.groups removeAllObjects];
[self.mgvc.table reloadData];
Topic * topic = [Topic object];
topic.tid = [NSNumber numberWithInt:-2];
self.mgvc.detailViewController.topic = topic;
self.mgvc.detailViewController.detailItem = topic.tid;
[self presentModalViewController:lvc animated:YES];
[lvc release];
}
Странно то, что на этот раз я не могу отключить клавиатуру, когда нажимаю кнопку входа в систему. Почему это? Это потому, что на данный момент я показываю LoginViewController из modalviewcontroller? Как решить эту странную проблему?