【发布时间】:2017-06-29 09:22:08
【问题描述】:
我使用这样的计时器每 5 秒自动滚动一次 UIPageViewController:
_bannerTimer = [NSTimer scheduledTimerWithTimeInterval:5.0
target:self
selector:@selector(loadNextController)
userInfo:nil
repeats:YES];
- (void)loadNextController
{
self.index++;
HeaderAdVC *nextViewController;
if(self.index>arrayImages.count-1)
{
self.index=0;
[pageIndicator setCurrentPage:0];
nextViewController = [self viewControllerAtIndex:0];
}
else
{
nextViewController = [self viewControllerAtIndex:self.index];
}
[pageIndicator setCurrentPage:self.index];
[pageController setViewControllers:@[nextViewController]
direction:UIPageViewControllerNavigationDirectionForward
animated:YES
completion:nil];
}
并删除viewWillDisappear中的计时器
-(void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[_bannerTimer invalidate];
}
问题:
我的问题是当调用 loadNextController 方法时,我的应用程序停止响应。
如果我切换到下一页在每个视图上仍然遇到同样的问题。
【问题讨论】:
-
你应该在 loadNextController 中停止你的计时器
-
我在
viewWillDisappear上的计时器无效 -
我能看到你的错误控制台吗?
-
我在控制台中没有任何错误。我的所有用户界面都只是停止响应一段时间。
-
检查我的回答here。对我来说效果很好。
标签: ios objective-c nstimer uipageviewcontroller