【问题标题】:How to get pending view controller from method?如何从方法中获取待处理的视图控制器?
【发布时间】:2015-07-25 09:03:13
【问题描述】:

如何从该方法中获取待处理的视图控制器值?

-(void)pageViewController:(UIPageViewController *)pageViewController willTransitionToViewControllers:(NSArray *)pendingViewControllers {
}

我可以使用什么代码从这个数组中获取待处理的视图控制器值?任何帮助将不胜感激?

我已尝试使用此代码:

 nextIndex = (int)[pendingViewControllers objectAtIndex:0];

但它一直返回 -1 而不是下一个或上一个值!

【问题讨论】:

  • 待定视图控制器值是什么意思? pendingViewControllers 是一个视图控制器对象数组。它与实际索引没有任何关系。

标签: ios objective-c xcode uipageviewcontroller pending-transition


【解决方案1】:

该方法传入待处理视图控制器的数组,而不是索引,因此您不能将其强制转换为 int。如果你想得到第一个视图控制器,你可以这样做,

UIViewController *vc = pendingViewController.firstObject;

【讨论】:

  • 我正在尝试从当前视图控制器获取上一个或下一个视图控制器?我可以用那个代码来实现吗?
  • @CoolKatStudios 我从来没有使用过这种方法,但是根据我对文档的理解,我会说是的,这种方法可以做到。
  • 那么第一个对象是下一个或上一个视图控制器?
  • @CoolKatStudios 这取决于你刷卡的方式。如果你向左滑动,它是下一个控制器,如果你向右滑动,它是前一个。我认为该数组将只包含一个控制器,除非您并排显示两个页面。
  • -(void)pageViewController:(UIPageViewController *)pageViewController willTransitionToViewControllers:(NSArray *)pendingViewControllers { UIViewController *vc = pendingViewControllers.firstObject; nextIndex = (int)vc; } 我使用了这段代码,但它在控制台中返回大量数字?它不应该只返回 1 或 -1 吗?等等?
猜你喜欢
  • 1970-01-01
  • 2013-02-26
  • 1970-01-01
  • 2012-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多