2013-07-20 29 views
1

在我的應用程序中,我允許用戶選擇圖像,然後選擇其他圖像以覆蓋主圖像的頂部。然後我實現手勢識別器來捏住,平移和旋轉頂部圖像。從UIImageView的角落控制UIGestureRecognizers

例如,用戶可以選擇一個人的圖像,然後選擇一副太陽鏡重疊在圖像的頂部,並捏住,平移或旋轉到位。

這個效果很好,但隨着覆蓋圖像變小,用戶難以進行大小,平移或旋轉。

我期待實現一些我在類似的應用程序中看到的功能,它們允許通過頂部UIImageView的拐角處的捏/旋轉處理程序進行控制。我似乎無法弄清楚這一點。我附上了目前正在嘗試實施的這個應用的屏幕截圖。任何建議都會有幫助。謝謝。

enter image description here

回答

0

最簡單的方法是設置角的圖像比圖像尺寸更一些較大的幀大小,並設置內容轉換成中心。

對於例如:

圖像大小爲30×30裝置設定的幀尺寸40×如並設置圖像作爲類似的視圖的中心,

iconImgView.contentMode = UIViewContentModeCenter; 

希望它會幫助你。

+0

我不知道我是否理解這將如何工作。你仍然需要用兩個手指旋轉,一個在灰色圓圈,另一個在另一側。如果不是,這將成爲一個平移手勢,只需拖動uiimageview。我想要完成的是允許用戶點擊灰色圓圈並執行旋轉或捏合,而不需要第二根手指觸摸。 – helloJello

0

最簡單的方法就是將手勢識別器添加到那個小的「旋轉」圖像。然後它只會受到觸及的界限。

另一種選擇是使用委託方法,並允許在所希望的幀手動接收觸摸,但是這不是你的情況良好,這是因爲:

  • 正常旋轉手勢(UIRotationGestureRecognizer)比該「拖不同旋轉「的手勢,這是簡單的UIPanGestureRecognizer
  • 你的」旋轉「圖像部分在」sunglases「圖像的框架之外,所以你需要添加手勢到父母也許這會比較複雜