我正在嘗試爲我的imageView(下面的代碼中的maskPreview)創建移動功能,以便用戶可以在屏幕上移動一張包含在maskPreview中的圖片。這裏是我的代碼觸摸開始和觸摸移動:如何用觸摸移動UIImageView
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
if ([touches count]==1) {
UITouch *touch= [touches anyObject];
originalOrigin = [touch locationInView:maskPreview];
}
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
if ([touches count]==1) {
UITouch *touch = [touches anyObject];
CGPoint lastTouch = [touch previousLocationInView:self.view];
CGFloat movedDistanceX = originalOrigin.x-lastTouch.x;
CGFloat movedDistanceY = originalOrigin.y-lastTouch.y;
[maskPreview setFrame:CGRectMake(maskPreview.frame.origin.x+movedDistanceX, maskPreview.frame.origin.y + movedDistanceY, maskPreview.frame.size.width, maskPreview.frame.size.height)];
}
}
但我從應用程序得到一些奇怪的反應。我沒有限制imageview可以移動多遠,也就是說,爲了防止它離開屏幕,但即使這只是一個小動作,我的圖像視圖也會變得瘋狂並消失。
非常感謝提前對所有幫助
太棒了馬特,你是一個絕對的天才!會評價你的答案,但我沒有足夠的聲望!讓我的生活變得如此輕鬆! – Septronic 2012-02-03 13:47:23
只是僅供參考,代碼直接出我的書:http://shop.oreilly.com/product/0636920023562.do - 更多的地方來自... – matt 2012-02-03 14:31:21
真棒,我會研究它:)謝謝 – Septronic 2012-02-03 14:47:50