我设置的图像(动态创建)放在我的UIScrolView中的一行中。我想跟踪位置的变化(即我想得到所有图像的x,y位置)滚动....
我尝试过的事情:
1.我将所有图像存储在一个数组中 然后我在这个代表中打印了图像的位置
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
但我不能得到我想要的结果......而不是我得到我指定的图像的位置.....我怎么能摆脱这个????
由于
答案 0 :(得分:2)
我不完全确定我理解您对图像位置的含义,但我认为您需要contentOffset
UIScrollView
属性。如果您从图像的帧偏移量中减去x
和y
的值,那么您将有效地获得图像相对于UIScrollView
父级的位置。
编辑:这里有一些代码可以帮助您入门:
- (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
本身。但我不认为这就是你想要的,因为你说“但我无法得到我想要的结果......而不是我得到我指定的图像的位置”。