ブログ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];

で、指定したセルを同じようにスクロールさせるのですが、こちらは『選択された状態』でスクロールされるそうです。

PAGE TOP