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; めでたきかなこれで取れました。