0

我知道为了获取 UI 元素的 x 或 y 坐标,您可以使用 button.center.y 或 self.view.frame.size.height 之类的东西来获取 UIView 的高度)。但是,如果我正确理解了这一切,那么所有这些都在 UIView 的范围内。

就 iPhone 屏幕本身而言,您如何获得相同的信息?

也许是这样的:

screen.view.frame.size.height

提前致谢。

编辑:我的 UIElements 在 UIScrollView 上。

4

1 回答 1

6

将视图坐标系中的点转换为封闭窗口的坐标系,然后将该点从窗口转换为屏幕。使用-[UIView convertPoint:toView:]-[UIWindow convertPoint:toWindow:]

 UIWindow* myWindow = myView.window;
 CGPoint pointInWindow = [myView convertPoint:pointInMyView toView:myWindow];
     // note: toView:nil also works
 CGPoint pointInScreen = [myWindow convertPoint:pointInWindow toWindow:nil];

顺便说一句,很重要的一点:视图属性centerframe视图的父视图的坐标系相似。因此,要将视图的中心转换为屏幕:

 CGPoint pointInWindow = [myView.superview convertPoint:myView.center toView:nil];
 CGPoint pointInScreen = [myView.window convertPoint:pointInWindow toWindow:nil];
于 2012-12-31T20:50:39.537 回答