【问题标题】:reloading uiviewcontroller重新加载uiviewcontroller
【发布时间】:2011-08-02 14:37:24
【问题描述】:

我正在使用 UINavigationController 在 UIViewController 之间进行导航。 但是遇到了一些问题,无法解决。

问题来了—— 当我导航回父控制器时,父控制器中的表应该重新加载。 我在应用程序中使用了 Interface Builder。 请帮助解决这个问题。

提前谢谢...

【问题讨论】:

    标签: iphone uitableview uiviewcontroller reload


    【解决方案1】:

    使用 UINavigationController 时,您可以使用 UINavigationControllerDelegate 方法

    - (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated
    
    - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
    

    在这两种方法中,您都可以手动调用 viewWillAppear 和 viewDidAppear。

    【讨论】:

      【解决方案2】:

      您可以使用第一个视图控制器的viewDidAppearviewWillAppear 方法并将您的重新加载代码放在那里。

      【讨论】:

      • “不工作”是什么意思?方法没有被调用?你如何重新加载表格视图?在此处需要更多信息。
      • 那些方法没有被调用。
      • 实现 Rengers 描述的两种方法,并在这些方法中插入一个 NSLog。来回导航后检查控制台。控制台是否显示您的日志记录?
      • 我用 NSLog 实现了这两种方法,但这里的问题是这些方法没有被调用。
      • 嗯,它们可能不会被自动调用,具体取决于您的视图结构。确保导航控制器直接添加到窗口中。
      【解决方案3】:

      使用 - (void) viewWillAppear 方法来执行此操作。在这里你可以放置所有你想在视图加载时重新加载的方法调用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-05
        • 1970-01-01
        • 2015-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多