如何在键盘附件视图中获取视图的屏幕坐标?

时间:2016-04-07 15:19:09

标签: ios uiview uiscreen

基本上,我把配件视图放在keyborad的顶部,在我有视图的视图内,我需要的位置,但相对于整个屏幕(就像我把它放在整个屏幕上)而不是上海华?

我有点尝试过这样:

How to get the absolute coordinates of a view

但无济于事。

1 个答案:

答案 0 :(得分:1)

您可以将框架(CGRect)或点(CGPoint)从其superview的坐标系转换为另一个视图的坐标系。所有这些方法都是UIView

的实例方法

例如:

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

在您的情况下,您可以尝试这样的事情:

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

请注意,这会将子视图(其frame位于keyboardAccessory的坐标空间中)转换为当前viewController的视图坐标系。

如果您想要整个屏幕,请尝试以下方法:

let coordinateSpace = UIScreen.mainScreen().coordinateSpace
kbAccessoryView.convertRect(subview.frame, toCoordinateSpace: coordinateSpace)