如果我将进度条放在UIScrollView的一边,我会得到一些x& y轴(如(110,250)),如果我在我的UIScrollView中保留了进度条,我会得到不同的x& y轴(如(9,100))。
我的要求是我必须将我的进度条放在UIScrollView中,但我想知道x& UIScrollview外的进度条的y轴。
,即我的进度条起源必须根据UIView计算,不尊重Scrollview
请给我解决方案。
答案 0 :(得分:6)
UIView可以将rects从一个坐标空间转换为另一个坐标空间,只要它们具有共同的父视图(甚至是窗口)。所以,例如:
[scrollview convertRect:subview.frame toView:someOtherView]; //scrollView converts the frame of subView.frame to the coordinate system of someOtherView
有几种方法可以将点或通道从另一个视图转换为另一个视图:
[superView convertRect:anotherView.frame fromView:anotherView.superView]; //Will give you the rect of anotherView.frame in superView coordinate system.
请注意,rect可以是任何东西(不需要是特定视图的框架)。所有方法都是从一个坐标空间转换为另一个坐标空间。
另外,要在屏幕(或主窗口)上找到视图的坐标,可以将“toView:”设置为nil:
[superView convertRect:subView.frame toView:nil]; //will give you the coordinate of subView in the window
答案 1 :(得分:0)
这两个UIView方法可以帮助你:
– convertPoint:toView:
– convertPoint:fromView: