3

テーブル ビュー セルの長いリストがあります。リストのフレームの 1 つを取得しようとすると、次のような結果が得られます。(0, 508) (56, 320) (x,y)(height, width)

現在の画面に関するこれらの座標を知りたい - 320x480 の範囲で。self.view.window(convertRangeを介して)座標を取得した後、 508 % 480 のようなことを試みましたが、期待した結果はまだ表示されていません。

セルの上にビューを初期化し、画面全体に拡大します。これは、セルが画面の上部にある場合は問題ありませんが、セルがリストの下部にある場合はアニメーションが悪くなります。

4

1 に答える 1

8

UITableViewは のサブクラスであるためUIScrollView、プロパティを使用contentOffsetして、テーブル ビューの上部から表示されたコンテンツの上部までのピクセル数を取得し、それをセルの y 位置から差し引くことができます。

CGFloat relativeY = someCellFrame.origin.y - someTableView.contentOffset.y;
于 2012-09-13T01:02:54.533 に答える