如何从xib移动到xib

时间:2010-08-27 01:10:42

标签: objective-c

从“页面”移动到“页面”的更好的代码是什么?我有4页的调查问卷,我从4个xibs加载了4个视图。

我选择了从xib移动到xib的两种方式(在我的情况下,从页面到页面)。 方法1:

-(IBAction) MaleTapped: (id) sender {
    Page1M *ivc = [[Page1M alloc] init];
    UINavigationController *nc = [[UINavigationController alloc]
                                  initWithRootViewController:ivc];
    [self presentModalViewController:nc animated:NO];
    [ivc release];
    [nc release];
}

第二种方式:

-(IBAction)GotoPage2M:(id)sender {
    page2M = [ [Page2M alloc]
              initWithNibName:@"Page2M" bundle:nil];
    [self.view addSubview:page2M.view];}

一种方法使用RootViewController方法,第二种方法只加载子视图。对于我的4页,这是更好/更清洁/更智能的方式?

2 个答案:

答案 0 :(得分:0)

我建议以这种方式使用UINavigationViewController。深入看几个模态视图是icky。

- (IBAction) goToNextPage:(id)sender {
    UIViewController * newView = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
    [self.navigationController pushViewController:newView animated:YES];
    [newView release];
}

我可以进行子视图的唯一原因是额外的转换选项。

答案 1 :(得分:0)

我建议查看Apple的示例Page Control代码。它展示了如何通过多个视图控制器创建页面并从xib动态加载它们。该示例只是多次加载相同的xib,但您可以将其替换为为每个页面加载不同视图控制器或xib的代码。