поэтому в моем делегате приложения я пытаюсь представить modalViewController из UITabBarController, выполнив следующие действия:
self.tabBarController = [[UITabBarController alloc] init];
LoginViewController* loginViewController = [[LoginViewController alloc] init];
loginViewController.delegate = self;
[self.tabBarController presentModalViewController:loginViewController animated:NO];
[loginViewController release];
и делегат, определенный в делегате приложения:
- (void)userDidLogin:(LoginViewController *) loginViewController
{
NSLog(@"DELEGATE CALLED, DISMISSING");
[self.tabBarController dismissModalViewControllerAnimated:NO];
}
Вот мой LoginViewController:
protocol LoginViewControllerDelegate;
@interface LoginViewController : UIViewController <MBProgressHUDDelegate>
{
id<LoginViewControllerDelegate> delegate;
}
@property (assign) id<LoginViewControllerDelegate> delegate;
@end
@protocol LoginViewControllerDelegate
- (void)userDidLogin:(LoginViewController *) loginViewController;
@end
Проблема в том, что этот (userDidLogin:(LoginViewController *) loginViewController)
никогда не называется ... почему это?
Я вызвал следующее в моей реализации LoginViewController, и это называется
[self.delegate userDidLogin:self];
UPDATE
Мне позвонил делегат. Теперь проблема в том, что когда я вызываю [self.tabBarController dismissModalViewControllerAnimated: YES], он не закрывает модальный контроллер представления.