Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS-搜索号码并在该位置滚动_Ios_Swift_Uitableview_Uisearchbar - Fatal编程技术网

iOS-搜索号码并在该位置滚动

iOS-搜索号码并在该位置滚动,ios,swift,uitableview,uisearchbar,Ios,Swift,Uitableview,Uisearchbar,我尝试在tableview中实现自定义搜索栏。我的桌子由数字组成。 在搜索栏中,我想输入我要查找的表格中的编号,然后单击编号位置处的搜索按钮->表格滚动。 但我不知道怎么做。我在网上找不到任何东西。也许有人能帮我。这一定是因为您有一个用于tableView数据源的模型。 我几乎可以肯定,这是一个数组 因此,要滚动,需要两个步骤: 1查找您在搜索栏中输入的元素的索引。这可以通过在数组中循环并将每个元素与您输入的元素进行比较或使用筛选函数来实现 2如果找到的元素存在,则创建一个IndexPath类型

我尝试在tableview中实现自定义搜索栏。我的桌子由数字组成。 在搜索栏中,我想输入我要查找的表格中的编号,然后单击编号位置处的搜索按钮->表格滚动。
但我不知道怎么做。我在网上找不到任何东西。也许有人能帮我。

这一定是因为您有一个用于tableView数据源的模型。 我几乎可以肯定,这是一个数组

因此,要滚动,需要两个步骤:

1查找您在搜索栏中输入的元素的索引。这可以通过在数组中循环并将每个元素与您输入的元素进行比较或使用筛选函数来实现 2如果找到的元素存在,则创建一个IndexPath类型 如果tableView有索引和节0,则使用该索引和节0的变量 节-默认情况下是这样,并调用tableView的scrollToRow方法 例如:

let numbers = [1, 2, 3, 4, 5]
我找了4个


使用表视图时,我们为其提供数据源。这是一些对象的集合。搜索时,您要确定我们集合中的某个对象是否与搜索词相关。这是基于您的设计的某种比较

因此,您可以创建第二个筛选集合,并告诉表更新,只显示相关的搜索结果。或者,您可以找到第一个匹配项,并告诉您的表视图滚动到该索引。使用tableview:scrolltoindex

if let intToSearch = Int(searchString),
   let index = numbers.index(of: intToSearch) {
    let path = IndexPath(item: index, section: 0)
    tableView.scrollToRow(at: path, at: .bottom, animated: true)
}