【问题标题】:Opening UINavigationController UITable from a simple UIView从一个简单的 UIView 打开 UINavigationController UITable
【发布时间】:2009-08-22 19:50:13
【问题描述】:

这个问题整天让我发疯,必须有一个简单的答案。

我需要创建一个登录页面,然后提供对 UITableView 的访问,然后由 UINavigationController 控制。问题是我如何获取并最初加载登录页面(UIViewController - 由“基于视图的应用程序模板创建”)来加载第二个页面?我对用户交互的反应很好,它只是启动第二页让我很困惑。让一个页面导航到另一个页面一定很容易,嗯?

我可以阅读周围的任何示例吗?任何帮助和建议将不胜感激。

禅-C

【问题讨论】:

    标签: iphone uiviewcontroller uinavigationcontroller navigation


    【解决方案1】:

    您将视图控制器推送到 navigation controller 上进行导航。

    通常在第一个视图控制器中你有这样一行。

    [self.navigationController pushViewController:newPage animated:YES];
    

    抱歉,顺便说一句,这假设您的第一个视图控制器已经在导航控制器中。我建议您从导航控制器模板开始,在您的第一个视图中,如果这样更合适,您可以隐藏导航栏。

    这样的事情可能会有所帮助

    -(void)viewWillAppear:(BOOL)animated {  
        [self.navigationController setNavigationBarHidden:YES animated:animated];
    }
    
    -(void)viewWillDisappear:(BOOL)animated {
        [self.navigationController setNavigationBarHidden:NO animated:animated];
    }
    

    【讨论】:

    • 我所做的是从导航控制器模板开始(如您所建议的)。然后,我从 RootViewController.xib IB 定义中删除了表视图,并将其替换为 UIView,同时将 RootViewController 接口更改为从 UIViewController 继承。 PushingViewController 现在工作正常。然而,这给我留下了奇怪的导航栏内容(提供返回不存在的“根视图控制器”的链接)。因此,我随后使用您的 viewWillAppear 和 viewWillDisapper 建议删除了第一页上的导航栏,现在一切看起来都很好。非常感谢,NWCoder :-)
    猜你喜欢
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    相关资源
    最近更新 更多