在视图中查找子视图的位置

时间:2012-07-02 13:15:11

标签: iphone ios views subviews

目标:我们如何在视图中找到subView的位置。我想在一个视图中找到我的scrollBar的左上角(x,y)位置,我也在我的应用程序中使用导航栏它是否会影响从顶部定位子视图?

我知道如何找到子视图的高度和宽度,如

CGSize viewSize = scrollView.frame.size;
height=viewSize.height;
width=viewSize.width;

4 个答案:

答案 0 :(得分:3)

您正在寻找的可能是:

CGPoint viewPosition = scrollView.frame.origin;
x=viewPosition.x;
y=viewPosition.y;

但是如果你想要转换到另一个视图的坐标系,你可以使用:

- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view

并传递你希望翻译的观点和观点。

答案 1 :(得分:0)

要使用origin

来获取x和y
CGPoint point = scrollView.frame.origin;
float x = point.x;
float y = point.y;

答案 2 :(得分:0)

你也可以使用这个......

 CGRect rect = [scrollBar frame];
 float origineFromX = rect.origin.x;
 float origineFromY = rect.origin.y;

这可能会对你有帮助......

答案 3 :(得分:-1)

如果在视图中放置导航栏,则必须向下移动滚动视图的位置才能在视图中正确对齐。无论有没有导航栏,滚动视图的原点(左上角位置)都会有所不同。

如果您使用的是全屏滚动视图,则必须降低滚动视图的高度以适应导航栏。