1. 程式人生 > >iOS 多個view新增手勢, 識別是哪個view的事件

iOS 多個view新增手勢, 識別是哪個view的事件

當多個view新增手勢識別時, 想要區分是哪個view發生的事件, 那麼可以這樣獲得

- (void)setupViews{
CGFloat menuviewTop;
for (int i = 0; i < 5; i++) {
    menuviewTop = i * 52;
    UILabel *label = [[UILabel alloc]init];
    label.tag = i;
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(menuViewClick:)];
    [tap setNumberOfTapsRequired:1];
    [tap setNumberOfTouchesRequired:1];
    [label addGestureRecognizer:tap];
    [self.view addSubview:label];
}
}

識別點選程式碼:

- (void)menuViewClick:(UIPanGestureRecognizer *)recognizer{
       UITapGestureRecognizer *tap = (UITapGestureRecognizer *)recognizer;
       NSInteger tag = tap.view.tag;
      switch (tag) {
          case 0:{
              break;
          }
          case 1:{
              break;
          }      
          default:
              break;
      }
  }