2011-12-27 64 views
1

我有三個圖像,我希望用戶可以在屏幕上移動。例如,你有足球,棒球和籃球。我希望用戶選擇其中一個圖像,然後在屏幕上移動該圖像而不影響其他兩個。我看了一些關於在屏幕上移動圖像的教程,但是我很難在幾張圖像中移動。在屏幕上觸摸並拖動圖像

什麼是使屏幕上的三個圖像具有單獨的觸摸控制(拖動)的最佳方式。

回答

6

只需創建一個UIImageView子類,在這個例子中,我會叫它DragView,並使用這個類爲每個圖像視圖:

DragView.h

@interface DragView : UIImageView { 
} 
@end 

DragView。 m

- (void)touchesMoved:(NSSet *)set withEvent:(UIEvent *)event { 
    CGPoint p = [[set anyObject] locationInView:self.superview]; 
    self.center = p; 
} 

現在,用戶將能夠拖動任何單獨的實例它的超級視圖中的DragView。如果您手動創建圖像視圖(例如,imageView = [[UIImageView alloc] initWithImage:anImage]),請將UIImageView替換爲DragView。您還需要在視圖控制器的標題中導入DragView.h。

如果您通過界面構建​​器初始化圖像視圖,則可以使用屬性檢查器將圖像視圖的類從UIImageView更改爲DragView

+0

我試圖通過IB屬性檢查器更改圖像類,但圖像不動。 – user964627 2011-12-27 00:34:40

+0

我明白了!謝謝! – user964627 2011-12-27 00:47:06

+0

不適合我。我完成了你在這裏寫的東西,但是'touchesMoved'根本沒有被調用。 – Gal 2014-02-04 11:52:24