从显示的模态视图调用导航方法时遇到问题。 我有三个视图控制器,HomeViewController,loadViewController,modalViewController。
modalViewController通过按下按钮从HomeViewController呈现为moda视图。实际上我需要的是,当我从提交的modalViewController按下一个按钮时,模态视图应该被解除,HomeViewController应该导航到loadViewController。 它不能使用我的代码,
HomeViewController.m
- (IBAction)shortCutButtonPressed:(id)sender {
ShortCutViewController *viewController=[[ShortCutViewController alloc]initWithNibName:nil bundle:nil];
[self.navigationController presentModalViewController:viewController animated:YES];
[viewController release];
}
-(void)loadViewControllerLoad
{
loadViewController *loadView=[[loadViewController alloc]initWithNibName:nil bundle:nil];
[self.navigationController pushViewController:loadView animated:YES];
[loadView release];
}
modalViewController.m
//模态视图控制器将从HomeViewController调用函数loadViewControllerLoad,将homeview导航到loadView。函数调用正确到达但视图未导航到loadView
- (IBAction)HomeButtonPressed:(id)sender {
homeView=[[HomeViewController alloc]initWithNibName:nil bundle:nil];
[homeView loadViewControllerLoad];
[[self presentingViewController] dismissModalViewControllerAnimated:YES];
[homeView release];
}
函数调用到达HomeViewController,但视图没有导航到LoadView?
答案 0 :(得分:0)
我明白了......你的实现是不正确的。当你在modalViewController.m中分配你的HomeViewController对象时,所以self.navigationController和HomeViewController的所有其他属性将是 nil < / strong>调用loadViewControllerLoad方法时......所以不要创建HomeViewController的新对象。通过任何其他方式获取对象..传递它或使用propery从modalViewController获取HomeViewController对象以调用方法“loadViewControllerLoad”
使用.nib文件名称来初始化您的视图,而不是将其设置为nil。
ShortCutViewController *viewController=[[ShortCutViewController alloc]initWithNibName:@"Your .nib name" bundle:nil];
示例:强>
ShortCutViewController *viewController=[[ShortCutViewController alloc]initWithNibName:@"ShortCutViewController" bundle:nil];
也适用于loadViewController和HomeViewController ......