Ios UIButton触地未在Swift中登记

Ios UIButton触地未在Swift中登记,ios,iphone,swift,uibutton,ibaction,Ios,Iphone,Swift,Uibutton,Ibaction,我在界面生成器(Main.storyboard)上创建了一个UIButton。我将两个操作连接到视图控制器swift文件,如下所示: @IBAction func backDownPress(sender: UIButton) { backButon.backgroundColor = UIColor.blackColor() } @IBAction func backNormalPress(sender: UIButton) { backButon.backgroundColo

我在界面生成器(Main.storyboard)上创建了一个UIButton。我将两个操作连接到视图控制器swift文件,如下所示:

@IBAction func backDownPress(sender: UIButton) {
    backButon.backgroundColor = UIColor.blackColor()
}
@IBAction func backNormalPress(sender: UIButton) {
    backButon.backgroundColor = UIColor.clearColor()
    performSegueWithIdentifier("pushFromRight", sender: self)
}
顶部动作是触地向下,底部动作是内部触地向上

然而,一旦我尝试在模拟器或我的iPhone上运行应用程序,触摸就不会注册。当我尝试在动作中添加一行打印行时,它也没有任何作用


查看我的代码的其余部分,我找不到类似于禁用用户交互的任何东西,因此我不知道为什么这不起作用。

我猜您希望在按下按钮时更改按钮颜色

1。子类UIButton和机具

override var highlighted: Bool {
        get {
            return super.highlighted
        }
        set {
            if newValue {
                backgroundColor = UIColor.blueColor()
            }
            else {
                backgroundColor = UIColor.clearColor()
            }
            super.highlighted = newValue
        }
    }

有两种可能的解决方案:

1) @iAction未连接到按钮


2) 按钮前面有分层的东西(某种视图)

假设您的iAction连接正确: 检查superview的userInteractionEnabled属性,因为子视图的用户交互也取决于superview。
检查此链接。

您能以编程方式对UI按钮进行编码吗?只是一个观点,但对我来说,我更喜欢代码,因为它对我来说更陈旧