2010年4月23日金曜日

UITableViewCellの現在の位置を取りたい

UITableViewCellの現在表示されている位置を取得しよう、というんで素直に

CGRect rect = cell.frame;

と取ってみたくなりますが、スクロールが行われている場合はこれでは取れないです。このrectの持っている座標は、スクロールが行われてない場合の位置、つまり画面の外を指しています。

なので、どれだけUITableViewがスクロールされているかを取って引き算してやればいい、と。UITableViewにcontentOffsetなんてプロパティがあります。

CGPoint offset =  tableView.contentOffset;
rect.origin.x = rect.origin.x - offset.x;
rect.origin.y = rect.origin.y - offset.y;

めでたきかなこれで取れました。

0 件のコメント:

コメントを投稿