1

ViewController に TableView があります。セルを選択すると、特定のy制限を下回っているかどうかを確認したいと思います。

その y 制限は、viewController のビューに関するものです。

セルの原点を取得し、ViewController のビューに変換しました。ここでは、UIView クラスのメソッドを使用しました。convertPoint:fromView:

ここでは、セルの直接の親ビューであり、セルのフレームが tableView に関連することを考慮して、tableView 自体を fromView パラメーターとして渡しています。

新しいポイントの y 値が、取得すべき値よりも若干増加していることがわかります。

これを達成するためのより良い方法はありますか?

4

3 に答える 3

8
CGRect rectOfCellInTableView = [tableView rectForRowAtIndexPath:indexPath];
CGRect rectOfCellInSuperview = [tableView convertRect:rectOfCellInTableView toView:[tableView superview]];

NSLog(@"cell rect is : %@",NSStringFromCGRect(rectOfCellInSuperview));
于 2013-06-06T13:24:23.127 に答える
3

これを試して..

CGRect newPosition = [theCell convertRect:theCell.frame toView:yourViewController.view];

これにより、yourViewController に関するセルの位置が得られます

于 2013-06-06T13:06:38.420 に答える