2013-03-04 64 views
1

我試圖實現一個矩形視圖,它執行以下操作。當用戶拖動從左邊或右邊的矩形視圖,它延伸如下:實現一個UIView,可以通過觸摸進行拉伸和旋轉

enter image description here

當用戶或拉起向下的UIView,它旋轉如下:

enter image description here

想知道如果有人可以給我一個關於如何實現這一點的線索。我不相信你可以用手勢識別器來做到這一點。有人知道嗎?

更新:這實際上並不壞,假設沒有旋轉。您可以按照用戶向左或向右拖動的量來拉伸它,或者按照拉動它的量旋轉它。但是,當視圖旋轉時,由於點數改變,此方法不再有效。任何想法如何執行此?

回答

0

看看這些UIView方法。你的子類可以覆蓋這些方法並做你需要的。

touchesBegan:withEvent:, touchesMoved:withEvent:, touchesEnded:withEvent:, touchesCancelled:withEvent:

  • ,如果你需要直接處理觸摸事件實現這些方法。 (對於基於手勢的輸入,請使用手勢識別器。)
0

您可以使用手勢識別器執行此操作。但是,您需要告訴iOS在這些手勢發生時如何處理視圖。

,你會把你的旋轉手勢識別動作看起來像這樣的代碼:

self.myView.transform = CGAffineTransform(CGAffineTranformIdentity, self.rotationRecognizer.rotation); 
// Where myView is an outlet to your UIView 
// rotationRecognizer is an outlet to your rotation gesture recognizer 
0

我有一個Github上項目,顯示瞭如何輕鬆地使用每一種UIGesture,包括捏調整大小和旋轉。

簽出捏,旋轉和同時部分。我想你會找到你正在尋找的東西。

https://github.com/EmperiorEric/UIGestures