如何在 IOS Swift 中捕获页面滑动事件
How to catch page swipe event in IOS Swift
我使用 UIPageViewController IOS Swift 开发了滑动页面。当最后一页出现时,我需要做一些事情。如何捕捉页面滑动事件。
import UIKit
class ViewController: UIViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate{
var pageViewController : UIPageViewController!
var pageCount = 3
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
//Return after viewcontroller
}
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
//Return before viewcontroller
}
func presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int {
return pageCount
}
func presentationIndexForPageViewController(pageViewController: UIPageViewController) -> Int {
return 0
}
}
在你定义的方法中可能会参与这个,像这样,
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
let index : NSInteger = arrproductdetial.indexOfObject(viewController) as NSInteger
if (index == arrproductdetial.count-1) {
// Do whatever you are trying to do for last page
}
else if (index == arrproductdetial.count) {
return nil; //the page after last page
}
}
您刚刚 return 在
中计算 pageCount
func presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int
改为return pageCount.count如下图:
func presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int
{
return pageCount.count
}
通过这个你可以得到总计数,你也可以得到最后一个索引。我想这消除了你的疑虑。快乐编码!!!
我使用 UIPageViewController IOS Swift 开发了滑动页面。当最后一页出现时,我需要做一些事情。如何捕捉页面滑动事件。
import UIKit
class ViewController: UIViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate{
var pageViewController : UIPageViewController!
var pageCount = 3
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
//Return after viewcontroller
}
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
//Return before viewcontroller
}
func presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int {
return pageCount
}
func presentationIndexForPageViewController(pageViewController: UIPageViewController) -> Int {
return 0
}
}
在你定义的方法中可能会参与这个,像这样,
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
let index : NSInteger = arrproductdetial.indexOfObject(viewController) as NSInteger
if (index == arrproductdetial.count-1) {
// Do whatever you are trying to do for last page
}
else if (index == arrproductdetial.count) {
return nil; //the page after last page
}
}
您刚刚 return 在
中计算 pageCountfunc presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int
改为return pageCount.count如下图:
func presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int
{
return pageCount.count
}
通过这个你可以得到总计数,你也可以得到最后一个索引。我想这消除了你的疑虑。快乐编码!!!