2010-08-27 56 views
1

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

我拿起了从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页,这是更好/更清洁/更聪明的方式?

回答

0

我会推荐以这种方式使用UINavigationViewController。去深入几个模态意见是icky。

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

我可能做子视图的唯一原因是额外的转换选项。

+0

科里,这不工作,以前都在工作,这一个由于某种原因不是。下一个笔尖与委托等有很大的关系......不能告诉你为什么,但这不起作用....当我按下IBAcation按钮时,它生成良好,没有错误信息,但它是不工作。我明白我不想要子视图或模态视图。但通常的方式不适合我。还有其他建议吗? – user426657 2010-08-27 04:08:15

0

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

+0

山姆, 我喜欢这样,但现在....我喜欢它了很多,谢谢...... 但现在,我只需要翻转的一些看法/页,并得到了“概念验证“app done .... – user426657 2010-08-27 04:09:20

+0

答案中的链接已过期,或许[this](https://developer.apple.com/library/content/samplecode/PageControl/Introduction/Intro.html)是原本的意思。 – 2017-12-29 11:30:58