2010-06-06 66 views
0

在我的主UIView的底部,我有一個UIScrollView,裏面有一個UIImageView。在UIScrollView之外移動一個UIIMageView

我想將UIImageView從UIScrollView移動到我的UIView的頂部。

我可以將我的UIImageView移動到UIScrollView中,但在外面,我不能。 UIImageView保留在UIScrollView中,它是父級。

有什麼想法?

在此先感謝您的幫助。

最好的問候,

ALX

回答

0

據我瞭解,你在代碼中的UIImageView添加爲UIScrollView的子視圖,但以後不能做反向操作。

如果是這樣,在UIViewController使用類似:

[yourImageView removeFromSuperview]; 
[self.view addSubview:yourImageView]; 

如果沒有,添加更多的細節,你的問題......

+0

它是'-removeFromSuperview',而不是'-removeFromSuperView' ... – 2010-06-06 07:30:42

+0

事情是我想從一個UIScrollView拖動我的UIImageView到我的主UIView。 所以,我必須從UIScrollView中將其刪除,然後將其添加到主視圖中,如您所說。我在TouchesBegan方法中這樣做。 但這還不夠。 因爲當我拖動圖像時,在TouchesMoved方法中,我正在做我認爲我應該做的移動圖像,但是這種移動是對scrollview的限制。 我不明白我要做什麼才能將圖像移動到主視圖中。圖像保持在滾動視圖中。 – Alx 2010-06-06 09:42:12

+0

嗯...你的UIImageView不是簡單的UIScrollView(因爲它的子視圖) - 它是scrollview的contentView的子視圖。這就是爲什麼我認爲你無法將圖像從scrollview移出。我可以建議的唯一解決方案是這樣的:在touchesBegan將圖像作爲主視圖的子視圖(從滾動視圖中移除)並繼續使用主視圖進行touchesMoved。 – kpower 2010-08-03 09:33:05

3

不要被UI的比喻上當。這些視圖實際上並不是物理對象,可以輕鬆拾取並從一個位置移動到另一個位置。我們用代碼創造物理對象的幻覺,這與幻覺的明顯運動無關。

做你想做的事情需要一些工作。

意見只在他們的超級意見中畫自己。它的框架是由它在超視圖中的位置定義的。一旦框架被定義爲超級視圖之外,它不再繪製自己,並從UI中消失。這就是爲什麼你不能在任何你想要的地方拖動UIImage。

你將不得不做的是創建一個透明的概述,覆蓋滾動視圖和目標視圖。當用戶啓動拖動時,您必須從滾動視圖中移除UIImageView並將其添加到概覽中(或者,隱藏滾動視圖UIImageView並在概覽中創建副本)。然後,UIImage將在概覽中繪製自己,這將創建它被拖出滾動視圖的錯覺。然後你在目標視圖上顛倒擁有者。

您可能想重新考慮一下iPhone的設計。用戶在小屏幕上拖動項目非常困難,尤其是如果屏幕本身必須滾動。

+0

[iphone] xcode目的地 – Alx 2011-04-19 20:09:13

相關問題