从iphone中的模态视图调用导航方法时出现问题?

时间:2012-07-11 05:24:09

标签: iphone uinavigationcontroller modalviewcontroller

从显示的模态视图调用导航方法时遇到问题。 我有三个视图控制器,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?

1 个答案:

答案 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 ......