0

我有以下代码:

deleteAllButton.setTitle("Delete", forState: .Normal)
        deleteAllButton.titleLabel?.numberOfLines = 2
        deleteAllButton.setTitleColor(UIColor.blackColor(), forState: .Normal)
        deleteAllButton.titleLabel?.font = UIFont.systemFontOfSize(keyboardFontSize)
    //  deleteAllButton.addTarget(self, action: #selector(deletekeyPressed), forControlEvents: .TouchUpInside)

        let deleteLPGR = UILongPressGestureRecognizer(target: self, action: #selector(deleteButtonLongPress))
        deleteLPGR.minimumPressDuration = 0
        deleteLPGR.delaysTouchesBegan = true

        deleteAllButton.addGestureRecognizer(deleteLPGR)

通常,当按下 UIButton 时,文本会自动更改颜色以指示它处于“按下”状态。但是,由于我添加了长按手势识别器,因此该按钮并不表示它处于“按下”状态。

我怎样才能仍然允许触摸事件通过按钮,以便用户感觉按钮实际上是“按下”?

4

2 回答 2

0

只需更改deleteLPGR.minimumPressDuration = 0deleteLPGR.minimumPressDuration = 1然后您可以在按下时注意到颜色变化

于 2016-09-29T23:45:05.923 回答
0

我认为您不需要添加手势识别器。

只是尝试为突出显示的状态设置标题颜色,它应该可以工作

deleteAllButton.setTitleColor(UIColor.redColor(), forState: .Highlighted)

希望这能解决您的问题。

于 2016-09-29T20:59:10.650 回答