【问题标题】:Poping different viewcontroller using poptoviewcontroller使用 poptoviewcontroller 弹出不同的视图控制器
【发布时间】:2011-09-21 05:33:11
【问题描述】:

我有一个包含三个viewcontrollers的应用程序

Mapviewrootviewcontroller

mapview -pushviewcontroller - listview,

listview - pushviewcontroller - mapview,

第一个条件

mapview -pushviewcontroller - 城市景观和 cityview - pushviewcontroller - mapview

第二个条件

listview -pushviewcontroller - 城市景观和 cityview - pushviewcontroller - listview

这样的视图控制器顺序

mapview-listview, mapview-cityview, 列表视图-城市视图

问题是我正在使用[self.navigationController popToRootViewControllerAnimated:YES]; 但它仅适用于第一个条件而不适用于第二个条件 当我在第二种情况下使用它时,它会再次显示地图视图

即。列表视图成功推送到城市视图,我想弹回列表视图,但它再次回到地图视图而不是列表视图

即使我也试试这个 [self popToViewControllerAtIndex:1 animated:YES];

但它又显示了同样的问题。

我已经尝试了几乎所有在论坛中找到的东西。

提前致谢!

【问题讨论】:

    标签: objective-c uinavigationcontroller pushviewcontroller poptoviewcontroller


    【解决方案1】:

    要修改(弹出视图)导航堆栈,您可以使用以下方法:

    1. 用指定的项目替换当前由导航控制器管理的视图控制器。

      - (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated

    2. 从导航堆栈中弹出顶视图控制器并更新显示。

      - (UIViewController *)popViewControllerAnimated:(BOOL)animated

    3. 弹出堆栈中除根视图控制器之外的所有视图控制器并更新显示。

      - (NSArray *)popToRootViewControllerAnimated:(BOOL)animated

    4. 弹出视图控制器,直到指定的视图控制器位于导航堆栈的顶部。

      - (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated

    要访问堆栈上的当前视图控制器,您可以使用@property(nonatomic, copy) NSArray *viewControllers

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-15
      • 1970-01-01
      • 2011-01-28
      • 2013-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多