如何获取关于窗口的按钮位置

时间:2012-07-13 07:20:05

标签: ios uiscrollview cgrectmake

我有scrollView,其中有12个按钮。在窗口上,一次只能看到四个按钮。出于动画目的,我需要按钮关于窗口的位置。

我遵循了这些方法,但它不适合我:

[btn.superview convertPoint:btn.frame.origin toView:nil];

btnImgeView.frame= CGRectMake(btn.frame.origin.x + 10, 240, btn.frame.size.width, btn.frame.size.height);

btn.frame.origin.x从scrollView的原点开始,而不是从屏幕原点开始。

如何获得按钮在窗口上的位置?

1 个答案:

答案 0 :(得分:0)

根据你的描述,你真正想要做的就是显示一个按钮出现的图像视图,但它的位置在滚动视图中。

如所怀疑的,计算屏幕坐标不是正确的方法。相反,您需要使用滚动视图的位移来偏移按钮的rect / origin以确定正确的位置。

使用滚动视图的-contentOffset属性获取CGPoint,指示内容的偏移量。从按钮的边界原点减去该点(或者如果您想要更方便的话,只需center)。这将为您提供显示图像的正确位置(相对于滚动视图的帧原点)。

如果您没有在滚动视图中显示图像,则可以使用-[UIView convertPoint:fromView:][UIView convertPoint:toView:]将点转换为超视图的坐标系。