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