2016-04-07 12 views
0

基本的に、私はキーボードの上にアクセサリービューを置いています。そのビューの内側には、位置が必要ですが、スクリーン全体に相対的です(私はそれを画面全体に置いています)。 ?キーボードアクセサリビュー内の画面の座標を取得する方法は?

これは

How to get the absolute coordinates of a view

が、無駄にし:,ように私はちょっとそれを試してみました。

+0

アップデートあなたが使用して、結果に問題があることを説明しようとした実際のコードとのご質問を。 – rmaddy

答えて

1

フレーム(CGRect)またはポイント(CGPoint)をスーパービューの座標系から別のビューの座標系に変換できます。これらのすべての方法は、例えばUIView

のインスタンスメソッドです:これは、変換すること

let cRect = keyboardAccessoryView.convertRect(accessorySubview.frame, toView: self.view)

注:お使いの場合には

let convertedRect = superview.convertRect(subview.frame, toView: anotherView)

、あなたはこのような何かを試してみてくださいサブビュー(frameがkeyboardAccessoryの座標空間にある)を現在のviewControllerのビューの座標系に変換します。あなたは、画面全体の面でそれをしたい場合は

、これを試してみてください。

let coordinateSpace = UIScreen.mainScreen().coordinateSpace 
kbAccessoryView.convertRect(subview.frame, toCoordinateSpace: coordinateSpace) 
関連する問題