2012-12-03 106 views
0

我在UIScrollView中有很多控件,包括幾個按鈕。舉個例子,我在(300,200的位置有一個按鈕),我從中彈出UIPopOverController來完成所需的任務,但是當我滾動滾動視圖時滾動,popover仍然彈出(300,200)這是錯誤的!無論如何,在可見滾動視圖中獲取按鈕位置?如何獲取可見滾動視圖中的按鈕位置?

回答

4

這就是我知道它在UIScrollView的初始位置時的確切位置。我只需要從按鈕的Y座標中減去當前的scrollview偏移!對我而言,X座標不會改變 - 因爲不支持水平滾動。

CGPoint point = CGPointMake(self.button.frame.origin.x, 
       self.button.frame.origin.y - self.scrollView.contentOffset.y) 
+0

不錯的概念。爲我工作。謝謝 –

0

使用UIViewconvertRect:toView:convertRect:fromView:方法看看。