2017-08-30 3 views
1

私はテーブルビューのセルをいくつか持っています。今、任意の時点で、ビュー内のセルの現在の高さを計算したい、つまり、ビューの3/4の場合は、セル高さ(cellheight)* 3/4の高さを返す必要があります。現在のビュー内のセルの瞬時の高さ

私は、次のように現在のビューを計算しています

今、私はスクロールを停止したとき、私は私がここで算出した特定のindexpathのセルの現在の高さを見つけたいとしてlet visibleRect = CGRect(origin: tableView.contentOffset, size: tableView.bounds.size)

。私は明らかだ願ってい

let visiblePoint = CGPoint(x: visibleRect.midX, y: visibleRect.midY) let visibleIndexPath = tableView.indexPathForRow(at: visiblePoint)!

。助けてくれてありがとう。

乾杯!あなたが希望indexPathを持った後UITableViewCellを取得するために

+0

あなたの問題は何ですか?どのようにお手伝いできますか? –

+0

ビュー内のセルの高さが必要です。セルの実際の高さが500で、その半分が上になると、その高さを取得したいと考えています。 基本的には、私は現在のオフセットに対してビュー内のセルの高さをチェックしたいと思います。 –

+0

テーブルの可視部分の中央にセルの高さが必要です。ビューは必要なものですか? –

答えて

1

あなたはヨーヨーがあなたのセルのフレームにアクセスすることができ、その後、このメソッドself.tableView.cellForRow(at: indexpath)を呼び出して、あなたの前にあなたが

必要なものを持っている必要があります visibleRect計算して交差点を作る必要は簡単です
 if let cell = self.tableView.cellForRow(at: indexpath) as? UITableViewCell 
     { 
      let intersection = cell.frame.intersection(visibleRect) 
      debugPrint(intersection.size.height) 
     } 
+1

くそー!これはちょうど私の心をスキップしました。これはまさに私が探していたものです。すばやく迅速な返信をお寄せいただきありがとうございます。乾杯! –

+0

私はあなたを助けてうれしいです!、楽しいコーディング@AakashDave –

+0

私はセルを持っていましたが、本当に交差点を使用するのを忘れました。再度、感謝します! –

関連する問題