web-dev-qa-db-ja.com

「表示」領域またはウィンドウからUITableviewCellの位置を取得します

UitableviewとuitabbarをベースにiPhoneアプリを作成しています。テーブルビューの各セルには、「お気に入りに追加ボタン」があります。このボタンを押したときに、セルを彼女の位置からタブバーのお気に入りのアイテムに「ジャンプ」させたい(インストール時のダウンロード効果と同じ)

効果は、私が上位10セルにいる場合はうまく機能しますが、tableViewをスクロールすると、開始位置がuitableviewサイズから計算されるため、効果は良くありません。

可視領域からセルの位置を知ることができます。 ?

例:40番目のセルの位置がx:0、y:1600、w:320、y:50の場合、uiviewの上部からではなく、画面の上部からの位置が必要なので、このx:0、yのようになります。 :230、w:320、y:50

23
Mickael

はい、rectForRowAtIndexPath:を使用できます。クリックした行のindexPathを渡すだけです。

rectForRowAtIndexPath:

インデックスパスで識別される行の作図領域を返します。

.。

[〜#〜]編集[〜#〜]

変換:

CGRect rectInTableView = [tableView rectForRowAtIndexPath:indexPath];
CGRect rectInSuperview = [tableView convertRect:rectInTableView toView:[tableView superview]]; 
77
Nick Weaver