如何在可见的Scrollview中获取Button位置?

时间:2012-12-03 10:45:23

标签: ios ipad uiscrollview

我在UIScrollView中有很多控件,包括几个按钮。举个例子我在(300,200位置有一个按钮,我弹出UIPopOverController来执行所需的任务,但当我滚动滚动视图时,popover仍会从位置(300,200)弹出1}}哪个错了!无论如何在可见滚动视图中获取按钮位置?

3 个答案:

答案 0 :(得分:4)

这是我在知道它在UIScrollView中的初始位置时获得按钮的确切位置的方法。我只需要从按钮的Y坐标中减去当前的滚动视图偏移量!对我来说,X坐标不会改变 - 因为不支持水平滚动。

 CGPoint point = CGPointMake(self.button.frame.origin.x, 
                 self.button.frame.origin.y - self.scrollView.contentOffset.y)

答案 1 :(得分:0)

也许它会弹出错误的位置,因为它没有在UIScrollView中添加,而是在其超级视图中添加。尝试在视图层次结构中检查按钮的位置。检索按钮位置可以做的另一件事是进入视图层次结构并提取子视图数组,并在此处检查按钮的位置。 请查看此链接http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/UIView/UIView.html#//apple_ref/doc/uid/TP40006816-CH3-SW17

答案 2 :(得分:0)

使用UIView convertRect:toView:convertRect:fromView:方法。