在滚动时跟踪滚动视图中图像的位置
问题描述:
我在UIScrolView中放置在一行中的一组图像(动态创建)。我想跟踪位置中的更改(即,我想要获取在x,所有的图像的y位置),同时滚动....在滚动时跟踪滚动视图中图像的位置
的资料我已经试过:
1.I存储所有的图像在阵列中 2.然后我的印刷图像的位置在此代表
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
但是我无法得到结果我想要什么....而不是我得到我指定的图像的立场.....我怎么能摆脱这个?
感谢
答
我不能完全肯定我明白你的图像的位置意味着什么,但我想你希望的UIScrollView
的contentOffset
财产。如果你从图像帧的偏移量中减去x
和y
的值,那么你将有效地得到图像相对于你的父母的位置。
编辑:下面是一些代码,让你开始:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGPoint offset = scrollView.contentOffset;
for (UIView *view in scrollView.subviews) {
CGPoint thisOrigin = view.frame.origin;
thisOrigin.x -= offset.x;
thisOrigin.y -= offset.y;
NSLog(@"thisOrigin = %@", NSStringFromCGPoint(thisOrigin));
}
}
这将得到UIScrollView
的界限的坐标系中的图像的起源。如果您只想要UIScrollView
内容的坐标系中的图像原点,那么您只需要view.frame.origin
本身。但是我不认为这就是你想说的,因为你说过“但我不能得到我想要的结果......而不是我得到我指定的图像的位置”。
位置是指图像的x和y位置 – Icoder 2012-01-10 09:42:10
您是否尝试过我建议的内容?我应该工作。假设你想要在UIScrollView边界的坐标系中获取图像的位置。 – mattjgalloway 2012-01-10 09:44:39
正好itz在scrollview界限内的位置... – Icoder 2012-01-10 09:47:20