2011-04-03 140 views
1

有沒有一種方法來視圖的邊界框,使其子視圖不能離開視圖?創建一個視圖的邊界框

我目前有UIImageViews,我移動,縮放,旋轉等,他們能夠離開視圖區域。

如何設置superview綁定/保持其子視圖?

這還能做什麼。我目前檢測到這個圖像的起源,直到它到達這個原點,當它發生時,圖像被卡住。

我使用gestureRecognizers,這個原點技術只適用於平移/移動圖像。

有什麼建議嗎?

回答

1

如果要停止將視圖的子視圖繪製在其邊框之外,則需要將其clipsToBounds屬性設置爲YES。 (有關詳細信息,請參見UIView class reference。)

如果您想停止視圖在某些位置,請不要將它們移動到那裏!這是你的代碼把它們放在你不想讓它們成爲的地方。如果你使用手勢識別器,大概你有一種通過調整視圖框架來響應手勢的方法 - 在這個運動中加入一些條件來防止它在你不需要時發生。

當您編寫這些條件時,請記住視圖的來源與其超級視圖相關。例如,假設您有一個視圖控制器,其視圖佔用了設備的整個屏幕,並且內部有一個盒子,起始於0, 100,內部有一些正方形和圓形以及用戶可以移動的彎曲形狀。如果您檢查containerBox.bounds.origin,則會發現它是0, 100,但如果要在框的左上角放置一個正方形,則需要獲取其框架並將原點設置爲0, 0。有些東西要注意。

我沒有按照你對'起源技術'的解釋。如果你粘貼你的代碼,我可能會提供幫助。