我有兩個圖像,一個網球和一個紅色標記圖像。我需要將網球作爲背景,並將紅色標記作爲前景,如網球上方的一層,我需要根據網球的形狀調整紅色標記。我必須通過捏和觸摸操作來實現這一點。用圓形圖像圖層標記球 - 在iphone touch中縮放或移動
下面是兩張圖片。
圖1:
圖像2(層):
最終圖像通過調整圓:
對此的任何首發將是好!
我有兩個圖像,一個網球和一個紅色標記圖像。我需要將網球作爲背景,並將紅色標記作爲前景,如網球上方的一層,我需要根據網球的形狀調整紅色標記。我必須通過捏和觸摸操作來實現這一點。用圓形圖像圖層標記球 - 在iphone touch中縮放或移動
下面是兩張圖片。
圖1:
圖像2(層):
最終圖像通過調整圓:
對此的任何首發將是好!
有兩種方法可以做到這一點(處理用戶觸摸):
touchesBegan:withEvent:
,touchesMoved:withEvent:
和touchesEnded:withEvent:
方法。參考在這裏:UIResponder - Responding to Touch Events。
手勢識別器(使用標準手勢識別器或創建自己的自定義手勢識別器)。參考在這裏:Gesture Recognizers。好教程是here。
如果你只需要移動紅圈,但不調整它的大小 - 使用touches...
方法將是對你有好處。
但是,如果您想通過使用捏手勢來調整圓的大小 - 您可能需要創建自定義手勢識別器(並在其中執行相同的方法)以處理觸摸和移動;並使用標準UIPinchGestureRecognizer來處理捏手勢。
您需要創建自定義手勢識別器,因爲標準UITapGestureRecognizer和UIPanGestureRecognizer有一些問題,因爲它提到了here。
UPD:
例如,你有UIViewController
。您正在將UIImageView
添加到viewController的view
。並且您正在創建具有清晰背景並在其中繪製紅色圓圈的UIView
,或者您正在使用紅色圓圈添加另一個UIImageView
(如果您有其中的圖像)。我們稱之爲redCircleView
。
您正在使redCircleView
變爲透明(redCircleView.alpha = 0
),或者您可以在用戶觸摸屏幕時對其進行初始化。我認爲第二種選擇更好,但我不確定。
在你UIViewController
你實現touchesBegan:withEvent:
方法,在那裏你要麼設置redCircleView.alpha = 1
或初始化這個redCircleView
。
在touchesMoved:withEvent:
實現,你可以使用UITouch:locationInView:
(void) touchesMoved: (NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self.view];
.
.
.
}
然後你就可以更改redCircleView.center
(當時的紅色圓圈中心將按照屏幕上的手指)獲得的任何視圖觸摸的位置,或者你可以存儲的位置先前的點,將其與當前位置進行比較,然後移動redCircleView
。
所以你有圖像上有球。當用戶開始與此圖像交互時,會出現紅圈(圖片2(圖層))和用戶,通過移動他的手指,調整紅圈?或者你想紅圈自動適應網球? – derpoliuk 2013-03-17 01:33:53
@StasDerpoliuk我想讓用戶移動並調整紅色的圓以適應球! – Manoj 2013-03-18 06:25:21