Iphone UIScrollView中对象的当前位置

Iphone UIScrollView中对象的当前位置,iphone,Iphone,我创建了UIScrollView,并在scrollview中添加了要滚动的大图像。我的问题是如何知道我在scrollview中添加的图像的当前位置,比如它的X和Y?例如,我水平滚动图像,然后我想知道图像的新X和Y值。这需要一点数学知识。有两个属性(都是CGPoints)对您很重要: 图像的frame.origin,即其在superview中的位置 滚动视图的contentOffset,它是滚动视图的可见部分 基本上,您要做的是获取图像视图的frame.origin.x和frame.origi

我创建了UIScrollView,并在scrollview中添加了要滚动的大图像。我的问题是如何知道我在scrollview中添加的图像的当前位置,比如它的X和Y?例如,我水平滚动图像,然后我想知道图像的新X和Y值。

这需要一点数学知识。有两个属性(都是
CGPoint
s)对您很重要:

  • 图像的
    frame.origin
    ,即其在superview中的位置
  • 滚动视图的
    contentOffset
    ,它是滚动视图的可见部分

基本上,您要做的是获取图像视图的
frame.origin.x
frame.origin.y
属性,这将告诉您图像相对于滚动视图绝对原点的位置。然后,获取滚动视图的
contentOffset.x
contentOffset.y
,并从图像视图的
x
y
中减去它们。这将为您提供图像视图相对于屏幕的相对原点。

这需要一点数学知识。有两个属性(都是
CGPoint
s)对您很重要:

  • 图像的
    frame.origin
    ,即其在superview中的位置
  • 滚动视图的
    contentOffset
    ,它是滚动视图的可见部分

基本上,您要做的是获取图像视图的
frame.origin.x
frame.origin.y
属性,这将告诉您图像相对于滚动视图绝对原点的位置。然后,获取滚动视图的
contentOffset.x
contentOffset.y
,并从图像视图的
x
y
中减去它们。这将为您提供图像视图相对于屏幕的相对原点。

请参阅scrollview.contentOffset。滚动后,滚动视图左上角可见点的坐标。

请参阅scrollview.contentOffset。滚动后,滚动视图左上角可见的点的坐标。

似乎contentOffset的x和y始终为零,而不是每次在UIScrollView内滚动图像时都会更新。显示一些代码。我刚刚检查了,当滚动发生时,我的scrollView将更改contentOffset。是的,我的问题是,我在NSLog中使用了%d而不是%f。耶:)看起来contentOffset的x和y总是为零,不是每次我在UIScrollView中滚动图像时都会更新。给我们看一些代码。我刚刚检查了,当滚动发生时,我的scrollView将更改contentOffset。是的,我的问题是,我在NSLog中使用了%d而不是%f。yay:)实际上不工作,frame.origin和contentOffset的x和y总是返回0值。那么代码中就有问题了。我以前用过很多次这个来做类似的计算。是的,我只是在我的NSLog中使用了错误的变量格式,现在可以工作了。谢谢。实际上不工作,frame.origin和contentOffset的x和y总是返回0值。那么代码中就有问题了。我以前用过很多次这个来做类似的计算。是的,我只是在我的NSLog中使用了错误的变量格式,现在可以工作了。谢谢