ブログBlog
布内です
投稿日:2014年05月15日
偶然ですが、特急ラピート ネオ・ジオンバージョンに出くわしました。
乗りたいとは思ってなかったんですが、実物を見たいとは思っていたのでラッキーです。
因みに、ラピートが『赤い彗星』なので、同じ関西空港行きの特急はるかは『JRの白いやつ』とかなんとか・・・(笑)
とりあえず、特急やガンダムは置いといて本題を・・・
先日、指定のセルをTableView内に予め表示する方法を探していました。
UITableView の『scrollToRowAtIndexPath:atScrollPosition:animated:』というメソッドを使用すれば良いみたいです。
使い方は
NSIndexPath* indexPath = [NSIndex indexPathForRow:□ inSection:□];
[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
です。
indexPathForRow:□←ここに表示させるセルの場所を記入します。
inSection:□←こちらには表示させるセクションの場所を記入します。
[NSIndex indexPathForRow:2 inSection:0]だと1つ目のセクションの3行目となります。(0から数える)
折角なので、もうちょっと自分なりに調べてみました。
NSIndexPath
順序の配列が階層になったクラスだそうです。
UITabeleViewのセルの位置の指定などによく使われるという事ぐらいしか、今の僕には理解できませんでした。
UITableViewScrollPositionTop
テーブルの表示領域の一番上に指定したセルが来るようにスクロールさせます。
同様に
UITableViewScrollPositionMiddle →表示領域の真ん中にスクロール
UITableViewScrollPositionBottom →表示領域の一番下にスクロール
UITableViewScrollPositionNone →表示領域内にスクロール
させる事ができます。
追記
使っていないのですが、同じようなメソッドで『selectRowAtIndexPath:animated:scrollPosition:』という物もあるらしく、
[self.tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionTop];
で、指定したセルを同じようにスクロールさせるのですが、こちらは『選択された状態』でスクロールされるそうです。