2009-11-22 24 views
0

我創建了UIScrollView,並在滾動視圖內添加了大圖以進行滾動。我的問題是,我應該如何知道我在scrollview中添加的圖像的當前位置,如X和Y?比如,我將圖像水平滾動,然後我想知道圖像的新X值和Y值。UIScrollView中對象的當前位置

回答

2

請參閱scrollview.contentOffset。這應該有任何滾動後在滾動視圖的左上角可見的點的座標。

+0

它似乎contentOffset的x和y總是爲零,每次我滾動UIScrollView內部的圖像時不會更新。 – domlao 2009-11-22 07:25:54

+0

向我們展示一些代碼。我剛剛檢查過,滾動發生時我的scrollView會改變contentOffset。 – mahboudz 2009-11-22 10:39:27

+0

是的,我的問題,我用%d而不是%f在NSLog中。好極了 :) – domlao 2009-11-22 23:36:02

3

這將需要一點數學。有兩個屬性(都是CGPoint S)是重要的給你:

  • 你的形象,這是它的父內的位置的frame.origin
  • 滾動視圖,這是的contentOffset滾動視圖的可見部分

基本上你想要做的就是抓住圖像視圖的frame.origin.xframe.origin.y特性,它會告訴你什麼Wh是圖像是否與滾動視圖的絕對原點相關。然後,獲取滾動視圖的contentOffset.xcontentOffset.y,並從圖像視圖的xy中減去它們。這應該爲您提供圖像視圖的相對原點到您的屏幕。

+0

實際上不工作,frame.origin和contentOffset的x和y總是返回0值。 – domlao 2009-11-22 07:27:33

+1

然後在代碼中出現錯誤。我以前用過很多次來做類似的計算。 – 2009-11-22 18:30:53

+0

是啊,我只是在我的NSLog中使用了錯誤的變量格式,現在就開始工作。謝謝。 – domlao 2009-11-22 23:36:43