2012-01-10 163 views
1

我在UIScrolView中放置在一行中的一组图像(动态创建)。我想跟踪位置中的更改(即,我想要获取在x,所有的图像的y位置),同时滚动....在滚动时跟踪滚动视图中图像的位置

的资料我已经试过:

1.I存储所有的图像在阵列中 2.然后我的印刷图像的位置在此代表

-(void)scrollViewDidScroll:(UIScrollView *)scrollView 

但是我无法得到结果我想要什么....而不是我得到我指定的图像的立场.....我怎么能摆脱这个?

感谢

回答

2

我不能完全肯定我明白你的图像的位置意味着什么,但我想希望的UIScrollViewcontentOffset财产。如果你从图像帧的偏移量中减去xy的值,那么你将有效地得到图像相对于你的父母的位置。

编辑:下面是一些代码,让你开始:

- (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本身。但是我不认为这就是你想说的,因为你说过“但我不能得到我想要的结果......而不是我得到我指定的图像的位置”。

+0

位置是指图像的x和y位置 – Icoder 2012-01-10 09:42:10

+0

您是否尝试过我建议的内容?我应该工作。假设你想要在UIScrollView边界的坐标系中获取图像的位置。 – mattjgalloway 2012-01-10 09:44:39

+0

正好itz在scrollview界限内的位置... – Icoder 2012-01-10 09:47:20