gpt4 book ai didi

ios - Swift 中带动画的多页 UITableViewController

转载 作者:可可西里 更新时间:2023-11-01 02:18:57 26 4
gpt4 key购买 nike

我目前正在运行一个显示 UITableViewController 的应用程序,数据动态加载到其中。在导航栏上,我有一个“上一个”和“下一个”按钮,用于在当前 View Controller 中加载新数据。它真的很好用。

我想要将它提升到一个新的水平:我希望能够检测左右滑动手势,以便显示下一页/上一页的动画过渡。例如,当我向右滑动时,我希望有一个显示新 UITableViewController 的过渡,其中包含将在后台加载的正确数据。类似于 PageViewController,但页面数量是无限的。

有没有简单的方法可以做到这一点?还是我必须使用 GesturesDetecror 和自定义转换?

非常感谢!

最佳答案

手势识别器就是为此目的而实现的。有一个专门用于向左滑动和向右滑动的类,我想这就是您要找的。

如果我理解正确,您想要实现滑动以替换当前的下一个和上一个按钮正在执行的操作,以及一些滑动动画以在数据表之间转换。滑动检测可以通过简单地向 TableView 添加适当的手势识别器来完成。此处合适的手势识别器是 UISwipeGestureRecognizer 类。

这可以通过编程方式完成(可能在 VC 的 viewDidLoad 中)。首先,创建一个 UISwipeGestureRecognizer:

var swipeRight: UIGestureRecognizer = UISwipeGestureRecognizer(target: self, action: "didSwipeRight")

手势识别器的默认方向是右,因此无需设置滑动方向。方向存储在手势识别器的方向属性中。现在将手势识别器添加到 TableView 中:

tableView.addGestureRecognizer(swipeRight)

设置这两行代码后, View Controller 将设置为在检测到向右滑动手势时随时调用函数 didSwipeRight。

func didSwipeRight() {

// Code to go to previous page

}

然后对向左滑动做同样的事情,只是你需要包括一条线来设置向左的方向。

var swipeLeft: UIGestureRecognizer = UISwipeGestureRecognizer(target: self, action: "didSwipeLeft")
swipeLeft.direction = UISwipeGestureRecognizerDirection.Left
tableView.addGestureRecognizer(swipeLeft)

然后是处理向左滑动的函数...

func didSwipeLeft() {

//Code to go to next page.

}

然后在相应函数的主体内实现转换。由于您想要无限数量的页面,我认为解决方案是创建一个配置为显示每次滑动的转换的单一 View Controller ,但实际上它只是一个单一的 View Controller 。希望对您有所帮助。

关于ios - Swift 中带动画的多页 UITableViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32802128/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com