按下时突出显示标签 Swift

Highlight Label while pressed Swift

出于某种原因,我不得不使用标签而不是按钮。现在我试着弄清楚如何假装它是一个普通按钮。要点:按下标签时突出显示文本(使用 UITapGestureRecognizer 实现的动作)。 所以我试图找到任何在触摸结束时实现的手势,但我没有找到任何东西:(

有什么建议吗?

此致, 帕特里克

UIButton 实际上有一个布尔值,您需要为不同的活动分配这些布尔值,其中一个布尔值被称为突出显示。

如果您使用的是视图构建器,它将位于右侧的属性检查器下方,否则您将使用 btnHighlight.highlighted,其中 btnHighlight 是按钮的出口名称

编辑:如果你必须绝对使用 uilabel,你可以做很多事情,比如在标签内分配手势 class 或覆盖 touchesEnded 事件

override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
        super.touchesEnded(touches, withEvent: event)
        for touch in touches
        {
          let location = touch.locationInNode(self);
          self.highlighted = true;  //I am not sure how you would be handling this,  this will run for every time a new touch happens.
          break;
        }
        if(touches.count ==  0)
        {
          self.highlighted = false;
        }

    }

请注意,您可能需要在触摸时进行投射

UIButton 实际上有一个布尔值,您需要为不同的活动分配这些布尔值,其中一个布尔值被称为突出显示。