2014-06-28 78 views
0

我在一個ViewController上有2個圖像。當我點擊視圖時,image1跳轉。對於image2,我可以在視圖周圍觸摸並拖動圖像。我的問題是,當我觸摸image2拖動,image1跳轉。拖動image2時,我不希望image1跳轉。1 ViewController上的兩個觸摸事件(觸摸/觸摸和拖動),但我想'觸摸並拖動'來獨立觸發

我想我可以在沒有UIGestureRecognizer的情況下完成這個任務;只是使用簡單的if語句。那可能嗎?

的爛​​攤子我到目前爲止...
,請注意,因爲我一直在這一段時間,我對這段代碼不作一大堆的道理,因爲沒有我嘗試工作,所以我把它剝離了。我只是覺得它應該如此簡單,如果發生image2觸摸和拖動事件,那麼image1的觸摸事件不應該。

GameViewController.h

bool flicked; 

GameViewController.m

-(IBAction)startGame:(id)sender { 
flicked = 0; 

//start game code... 

} 

IMAGE2 - 此圖像可以圍繞視圖拖動

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 
//flicked = 1; 
UITouch *myTouch = [[event allTouches] anyObject]; 
Image2.center = [myTouch locationInView:self.view]; 
//flicked = 0; 
} 

IMAGE1 - 當視圖被點擊該圖像跳轉

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 

if ((flicked = 0)) //OR (!flicked)? 
{ 
    image1jump = 30; 
} 
else { 

image1jump = 0; 
    } 
} 

回答

0

嘗試安裝兩個UIGestureRecognizers,一個用於單擊tap imageView,另一個用於觸摸並拖動ImageView。相應地設置它們(可能是tapGestureRecognizer和PanGesturecognizer)。很難想象這樣一種情況:爲了描述什麼,重寫觸摸處理方法比手勢識別器更容易。