2017-07-03 3 views
0

自動的にUITableViewCellにスクロールします。私は、文字列に等しいセルまでスクロールしたい、文字列からUITableViewCellまでスクロール

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"), 
] 

を持っており、UITableViewCellのタイトルはtitleに等しく、subtitleアーティストに等しいです。ユーザーがUIButtonをタップするたびに、Song(title: "Title 3", artist "Artist 3")というセルにスクロールします。どうすればいい?

答えて

0

ボタンを押すと、曲の配列をループし、探しているタイトルとアーティストがある曲を確認します。見つけたら、その曲を見つけた配列のインデックスとインデックスパスが一致するセルまでスクロールします。そして、あなたがidOrderによってあなたのリストにあなたの曲を注文する必要が

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

+0

どうすればよいですか? –

+0

@JacobCavinええと私はちょうど私があなたが何を明確にする必要があるか分からないそれを説明した。どんなボタンを持っていても、ソングの配列をループして、あなたが探しているソングを見つけるまで、それぞれをチェックするクリックイベントがあります。いったん配列にある配列のインデックスを取り出し、そのインデックスのscrollToRowAtIndexPathメソッドを使用します。インデックスは、cellForRowAtIndexPath内のindexPath.rowをインデックスとして使用し、そのセルのソング配列から情報を取り出すことによって、テーブルビューを作成する場合に整列する必要があります。 – Delimiter

-1

は、このようなあなたのソングクラスにプロパティを追加します。 idOrderも行の番号なので、コードを使用することができます:

var indexPath = NSIndexPath(forRow: numberOfRowYouWant, inSection: 0) 
    self.tableview.scrollToRowAtIndexPath(song.idOrder, 
       atScrollPosition: UITableViewScrollPosition.Middle, animated: true) 
関連する問題