【发布时间】:2011-09-23 16:55:31
【问题描述】:
所以在我的应用委托中,我尝试通过执行以下操作从 UITabBarController 呈现 modalViewController:
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];
}
这是我的登录视图控制器:
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];
更新:
我现在接到了代表的电话。现在的问题是,当我调用 [self.tabBarController dismissModalViewControllerAnimated:YES] 时,它不会关闭模态视图控制器。
【问题讨论】:
-
但是 LoginViewController 确实出现了?
-
尝试用笔尖初始化它。
-
是的,当我使用 presentModalViewController 时,LoginViewController 会出现
-
现在的问题是我的应用程序委托中的委托函数从未被调用...我在我的应用程序委托中添加了
标签: iphone objective-c ipad modalviewcontroller