【问题标题】:IPHONE - Use multiple viewsIPHONE - 使用多个视图
【发布时间】:2011-01-22 22:33:07
【问题描述】:

我必须制作一个有六个视图的应用程序,这些视图可以通过工具栏上的条形按钮项访问。

我真的很陌生。 每个视图都有一个视图控制器和一个 XIB 文件,有六个函数(goToView1、goToView2、...、goToView6)。

这是一个例子:

SecondViewController *secondview;

-(IBAction)goToView2 {
    secondview = [[SecondViewController alloc] 
                 initWithNibName:@"SecondViewController" bundle:nil];
    [self.view addSubview:secondview.view];
}

但是如您所见,如果我想从 view3 转到 view2,我不会从堆栈中删除 view3:我只是在其上添加 view2。 所以这是我的问题,如何在使用 addSubView 之前“删除”我的视图? 我尝试使用 removeFromSuperView,但我认为我没有正确使用它。

感谢您的帮助,正如我所说,我真的很新,我知道这可能是一个愚蠢的问题:/

【问题讨论】:

    标签: iphone


    【解决方案1】:

    听起来很像您想使用UITabBarController,因为这将提供工具栏(带有图标)等,并且会在选择特定工具栏图标时自动处理显示适当的视图控制器。

    但是,我真的建议先阅读View Controller Programming Guide for iOS 文档,因为它很好地概述了各种 UIKit 控制器等以及它们应该如何使用。如果您现在花时间阅读并理解这一点,那么它将为您提供很好的服务。

    【讨论】:

    • 您好,如果我使用 UITabBarController,我的应用还能运行吗? (因为即使我还不能管理导航,我也有一些元素已经在工作了)
    • @nax_ 您应该能够按原样使用现有的视图控制器 - UITabBarController 将简单地提供工具栏/视图控制器选择机制。
    • 我还建议从标签栏控制器开始。 UIViewController 类参考警告您不要将视图控制器的视图添加为子视图。就像你现在正在做的那样。如果继续这种设计,您可能会对为什么嵌套视图控制器上的方法没有被调用感到困惑。
    【解决方案2】:

    看看UITabBar。我认为使用标签栏可能比工具栏更适合您想要做的事情。

    UITabBar Class Reference

    【讨论】:

      【解决方案3】:

      要删除第一个视图,您应该使用类似的东西。

         [fisrtView removefromSuperview];
      

      放在你想移除视图的地方。

      【讨论】:

        猜你喜欢
        • 2011-03-11
        • 2011-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-20
        相关资源
        最近更新 更多