0

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

4

3 回答 3

4

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

 CGPoint point = CGPointMake(self.button.frame.origin.x, 
                 self.button.frame.origin.y - self.scrollView.contentOffset.y)
于 2012-12-03T12:43:37.187 回答
0

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

于 2012-12-03T10:53:40.397 回答
0

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

于 2012-12-03T10:54:36.913 回答