是否可以使用Swift在UIPageViewController iOS中自动滚动? 这意味着用户无需手动滚动。它会自动运行,也可以使用无限页面。
答案 0 :(得分:1)
您需要设置定时器。 下面的代码应该写在viewDidLoad()方法
中NSTimer.scheduledTimerWithTimeInterval(2, target: self, selector: "moveToNextPageTwoSecond", userInfo: nil, repeats: true)
此计时器每2秒调用一次moveToNextPageTwoSecond函数。
func moveToNextPageTwoSecond (){
let pageWidth:CGFloat = CGRectGetWidth(self.scrollView.frame)
let maxWidth:CGFloat = pageWidth * 4
let contentOffset:CGFloat = self.scrollView.contentOffset.x
var slideToX = contentOffset + pageWidth
if contentOffset + pageWidth == maxWidth{
slideToX = 0
}
self.scrollView.scrollRectToVisible(CGRectMake(slideToX, 0, pageWidth, CGRectGetHeight(self.scrollView.frame)), animated: true)
}
答案 1 :(得分:0)
您可以使用以下代码滚动到UIPageViewController
中的特定页面(第X页):
// Get the View Controller for the page X of the Page View Controller and store in an array
let pageXViewController: UIViewController = pageXViewControllerAtIndex(X)!
let viewControllers: NSArray = [pageXViewController]
// Set the first page of the Page View Controller
pageViewController.setViewControllers(viewControllers as? [UIViewController], direction: .Forward, animated: true, completion: nil)
答案 2 :(得分:-2)
这样的第一条规则......查看文档。
您会看到一个方法...... - setViewControllers:direction:animated:completion:
,其中包含说明... Sets the view controllers to be displayed.
这就是你要找的东西。