从String滚动到UITableViewCell

时间:2017-07-03 20:39:15

标签: ios swift uitableview struct tableview

我想自动滚动到UITableViewCell。我知道如何通过像

这样的行号来做到这一点
scanf

但是,我想滚动到等于字符串的单元格。我有一个结构

var indexPath = NSIndexPath(forRow: numberOfRowYouWant, inSection: 0)
self.tableview.scrollToRowAtIndexPath(indexPath, 
               atScrollPosition: UITableViewScrollPosition.Middle, animated: true)

struct Song { var title: String var artist: String } var songs: [Song] = [ Song(title: "Title 1", artist "Artist 1"), Song(title: "Title 2", artist "Artist 2"), Song(title: "Title 3", artist "Artist 3"), ] 的标题等于UITableViewCelltitle等于艺术家。每当用户点击UIButton时,我希望它滚动到subtitle的单元格。我该怎么做?

2 个答案:

答案 0 :(得分:0)

当他们按下按钮时,只需循环播放您的歌曲阵列并检查具有您要查找的给定标题和艺术家的歌曲。找到它后,滚动到索引路径与找到该歌曲的数组中的索引对齐的单元格。

答案 1 :(得分:-1)

将属性添加到歌曲类,如下所示:

struct Song {
var title: String
var artist: String
var idOrder: Int
}

然后你必须通过idOrder在你的列表中订购你的歌曲。 idOrder也是您的行号,因此您可以使用您的代码:

    var indexPath = NSIndexPath(forRow: numberOfRowYouWant, inSection: 0)
    self.tableview.scrollToRowAtIndexPath(song.idOrder, 
               atScrollPosition: UITableViewScrollPosition.Middle, animated: true)