当前位置: 首页 > 面试题库 >

在SwiftUI中,控件事件在哪里,例如,scrollViewDidScroll用于检测列表数据的底部

阳建弼
2023-03-14
问题内容

在SwiftUI中,是否有人知道控制事件(例如:scrollViewDidScroll)在哪里,以检测用户何时到达列表的底部,从而导致事件检索其他数据块?还是有一种新的方法来做到这一点?

好像UIRefreshControl()也不存在…


问题答案:

您可以检查onAppear中是否显示了最新元素。

struct ContentView: View {
    @State var items = Array(1...30)

    var body: some View {
        List {
            ForEach(items, id: \.self) { item in
                Text("\(item)")
                .onAppear {
                    if let last == self.items.last {
                        print("last item")
                        self.items += last+1...last+30
                    }
                }
            }
        }
    }
}


 类似资料:
  • 问题内容: 我已经在堆栈溢出中看到了类似的问题,但是没有一个问题完全陷入我所遇到的问题吗?我熟悉事件队列,它们如何工作以及如何实现。我是Node.js的新手,我想围绕Node.js的工作方式进行总结。 在c ++应用程序中,您将按照以下方式进行操作: 现在,在使用node.js的情况下,我可能会有一个看起来像main.js的主文件。 我了解server.listen会将处理程序附加到事件队列,并且

  • 问题内容: 我只是在评估H2数据库…下载并解压缩了安装文件,并连接到的数据库。是我的主目录,不存在(我希望H2创建它)。 控制台似乎可以正常工作。我创建了一个表并向其中插入了一行。即使断开并重新连接控制台,我也可以看到并查询该表。 但是,我没有看到预期的文件。它在哪里? 问题答案: 您确定没有: 文件?如果没有,请尝试以下操作: 它的作用是寻找H2控制台的Java进程,获取其PID并列出该进程的所

  • 问题内容: 我正在寻找有关如何捕获退格事件的解决方案,大多数堆栈溢出答案都在Objective-C中,但是我需要使用Swift语言。 首先,我为UITextField设置了委托,并将其设置为self 然后,我知道使用委托方法来检测是否按下了退格键,因为所有代码都在Objective- C中。我需要在Swift中使用以下方法。 问题答案: 斯威夫特4.2 较早的Swift版本

  • 你能告诉我,我应该在哪里声明节点的事件侦听器,它们是在我的控制器类之外添加的? 最好的方法是用这个例子来解释: 我有我的控制器: 然后我有任务,它在初始化方法中启动: 我在这里做什么?我有一个FXML,根元素是锚烷。它具有id根。现在我开始了一个任务,在这个任务中,我向根节点添加了一个按钮。现在我想向按钮注册一个动作事件。我现在的问题是,我可以/应该在哪里注册听众。通常我在控制器中注册它们,但在这

  • 问题内容: 我正在尝试获取手机号码文本框的值,以使用angular.js验证其输入值。我是使用angular.js的新手,但不确定如何实现这些事件,并在我的html代码上放了一些JavaScript来验证或操作表单输入。 这是我的HTML: 而我的控制器: 我不确定如何在angular.js中使用keydown事件,我也搜索了如何正确使用它。我可以验证我对指令的输入吗?还是我应该像使用控制器那样使

  • 问题内容: 我已经卸载了wamp服务器,现在我需要恢复数据库。我该如何做? 问题答案: 无论如何,您都可以知道: 感谢MySql论坛的Barry Galbraith http://forums.mysql.com/read.php?10,379153,379167#msg-379167