如何在目标 c 中具有某些标签的特定标签上应用 UITapGestureRecognizer

Posted

技术标签:

【中文标题】如何在目标 c 中具有某些标签的特定标签上应用 UITapGestureRecognizer【英文标题】:How to apply UITapGestureRecognizer on a specific label having some tag in objective c 【发布时间】:2017-05-09 05:55:33 【问题描述】:

我在一个循环中有 4 个标签,我想在每个标签上分别应用 UITapGestureRecognizer 以执行一些操作,如果我只想在带有标签 2 的标签上应用手势,我怎么能得到这些东西,请帮忙。

for(int i = 0 ; i < 4; i++)
  label = [[UILabel alloc] initWithFrame:rect1];
    label.tag = LABEL_TAG+i;

    label.textAlignment = NSTextAlignmentCenter;
    label.backgroundColor = [UIColor grayColor];
    label.textColor = [UIColor whiteColor];
    label.font = [UIFont fontWithName:@"Verdana-Bold" size:17.0];
    label.text = @"someText";
    [label sizeToFit];
     UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(gotTapped:)];
    [self viewWithTag:LABEL_TAG+2 addGestureRecognizer:tap];

【问题讨论】:

【参考方案1】:
You only need to add UITapGestureRecognizer on each label.

for(UIlabel *label in cell.contentViews.subviews) 
    if(label.tag == 1) 
        UITapGestureRecognizer *tap=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction)];
        [tap setNumberOfTapsRequired:1];
        [label addGestureRecognizer:tap];
     

【讨论】:

但我没有使用任何 tabelView 您可以简单地在标签上添加一个不可见的按钮。我希望这个技巧能帮到你。 这种情况下的单元格是什么? UItableview 的单元格。 然后只需在一个数组中取四个标签。在 Array 的索引 2 处,您可以添加点击手势。而在其他人你只需跳过循环。你应该从 1 到 4 运行循环。

以上是关于如何在目标 c 中具有某些标签的特定标签上应用 UITapGestureRecognizer的主要内容,如果未能解决你的问题,请参考以下文章

如何在 mailchimp API v3.0 上获取具有特定标签的成员总数?

将标签移动到目标c中的矩形后如何从标签中删除触摸动作

防止特定角色更改 aws 资源上的特定标签

如何在目标c中使用用户点击手势获取标签标签

如何在目标c中的多个标签上显示文本文件中的随机单词

如何在 python 中读取具有特定标签属性的 xml?