Hac*_*her 9 iphone xcode location objective-c ipad
我想知道无论如何你都可以在ipad/iphone应用程序中获得控件的绝对位置.例如,我有一个TextField,它位于视图子节点的子节点内.我想知道与顶级父视图相关的X和Y值(例如,当前文本字段的x和Y返回10和10,因为这是它在自己视图中的帧位置,但我想知道这与它的父级应该是X = 10和Y = 220的东西.我需要以某种方式为此制作一个通用方法.希望这是有道理的.
有任何想法吗?
Jer*_*man 28
你在找-[UIView convertPoint:toView:]
.
例如,要view
根据窗口的基本坐标获取视图的原点,您可以编写:
CGPoint localPoint = [view bounds].origin;
CGPoint basePoint = [view convertPoint:localPoint toView:nil];
Run Code Online (Sandbox Code Playgroud)
如果您想将该点转换为同一窗口中某个其他视图的坐标系,则可以将该视图用作toView:
参数而不是nil
:
NSAssert([view window] == [otherView window],
@"%s: Views must be part of the same window.", __func__);
CGPoint otherPoint = [view convertPoint:localPoint toView:otherView];
Run Code Online (Sandbox Code Playgroud)
由于不同的坐标系可能具有不同的比例,因此您可能会发现-convertRect:toView:
它们更有用,具体取决于您计划对坐标执行的操作.还有-fromView:
点和矩形转换方法的类似版本.
归档时间: |
|
查看次数: |
9173 次 |
最近记录: |