5

現在、カスタム セルに UITextField があり、View Controller のビュー (UIView) のレベルでその UITextField の Y 座標を取得したいと考えています。現在、私は次のようなことをしようとしています:

if (thetextField.superview.superview.superview.frame.origin.y >= keyboardY) {

}

しかし、実際にはそうではないのに、Y 座標は常に 0 のようです。これを達成する方法はありますか?

UIKeyboard が UIView レベルで UITextField をブロックしているかどうかを検出して、それに応じてセルを再配置できるようにするために、これを行っています。

ありがとう!

4

2 に答える 2

15

UIView のドキュメントconvertPoint:*でメソッドを確認してください。これらのメソッドを使用すると、ポイントを他のビュー座標にマッピングしたり、他のビュー座標からマッピングしたりできます。

ビューコントローラーselfの場合、この行はビュー コントローラーのビュー座標でのテキスト フィールドの原点を返します。

[thetextField convertPoint:thetextField.frame.origin toView:self.view];

メソッドを使用して、同様の方法で rect を変換することもできconvertRect:*ます。

于 2012-02-27T23:47:40.007 に答える