2012-03-07 43 views
1

在我的UIViewController我有不同的UIViews,其中一些是我的自定義UIViews。如何知道哪個UIView被觸摸,我的習慣或不?iPhone:如何找出哪個對象被觸及

+1

你可以在這裏找到答案: http://stackoverflow.com/questions/2793242/detect-if-certain-uiview-was - 其他 - uiviews – Oritm 2012-03-07 12:40:27

+0

是的,謝謝.... – Jim 2012-03-07 12:42:01

+0

嘗試isKindOfClass方法 – HarshIT 2012-03-07 12:42:41

回答

2

您可以爲每個視圖設置標籤。

view1.tag = y; 
UITapGestureRecognizer *tapGesture = 
    [[UITapGestureRecognizer alloc] initWithTarget:self 
              action:@selector(singleTapGestureCaptured:)]; 
tapGesture.numberOfTapsRequired = 1; 
[view1 addGestureRecognizer:tapGesture]; 

singleTapGestureCaptured方法:

- (void)singleTapGestureCaptured:(UITapGestureRecognizer *)gesture 
{ 
    [[gesture view] tag]; 
    NSLog(@"tap captured for view :%d", [[gesture view] tag]); 
} 
1

您可以創建兩個UIGestureRecognizers,那麼你必須手勢識別你的意見這樣的關聯:

UITapGestureRecognizer * recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)]; 
[view addGestureRecognizer:recognizer]; 

UITapGestureRecognizer * recognizerCustom = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapCustom:)]; 
[customView addGestureRecognizer:recognizer]; 

你知道什麼時候handleTap這樣:方法就是所謂的普通視圖十分感動,當你handleTapCustom :被調用你的自定義視圖被調用。

相關問題