0

基本上,我已将附件视图放在键盘顶部,在该视图内我有视图,我需要该位置,但相对于整个屏幕(就像我将它放在整个屏幕上)而不是超级视图?

我有点像这样尝试过:,

如何获取视图的绝对坐标

但无济于事。

4

1 回答 1

1

您可以将框架 ( CGRect) 或点 ( CGPoint) 从其父视图的坐标系转换为另一个视图的坐标系。所有这些方法都是实例方法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)
于 2016-04-07T15:25:43.240 回答