【问题标题】:How to make a UIButton border flash when touched触摸时如何使 UIButton 边框闪烁
【发布时间】:2015-11-08 05:48:53
【问题描述】:

到目前为止,边框在触摸以匹配文本时会闪烁,但在按下后边框不会恢复为白色。我不知道如何使边框在被按下时闪烁(在@IBAction 函数中启动)我相信它与按钮的Touch Up Inside 发送事件有关。

@IBAction func buttonSearchAction(sender: AnyObject) {

    let myColor : UIColor = UIColor(red: (255/255.0), green: (255/255.0), blue: (255/255.0), alpha: 0.5)
    buttonSearch.layer.borderColor = myColor.CGColor
}

【问题讨论】:

    标签: swift uibutton


    【解决方案1】:
    [myButton addTarget:self action:@selector(highlightBorder) forControlEvents:UIControlEventTouchDown];
    [myButton addTarget:self action:@selector(unhighlightBorder) forControlEvents:UIControlEventTouchUpInside];
    
    - (void)unhighlightBorder
    {
        myButton.layer.borderColor = [[UIColor greenColor]CGColor];
    }
    
    
    - (void)highlightBorder
    {
        myButton.layer.borderColor = [[UIColor blueColor]CGColor];
    }
    

    【讨论】:

    • 您好,感谢您的回答 - 但是我正在尝试使用 Swift 来完成此操作。
    【解决方案2】:

    与上面用 Swift 编写的解决方案相同:

    myButton.addTarget(self, action: "unhighlightBorder", forControlEvents: UIControlEvents.TouchDown);
    
    myButton.addTarget(self, action: "highlightBorder", forControlEvents: UIControlEvents.TouchUpInside);
    
    func unhighlightBorder(){
        myButton.layer.borderColor = UIColor.greenColor().CGColor;
    }
    
    func highlightBorder(){
        myButton.layer.borderColor = UIColor.blueColor().CGColor;
    }
    

    【讨论】:

    • 您好,感谢您的回答。我认为我解释得不够好 - 我已经编辑了我的问题,希望你明白我的意思。
    • 您希望边框像按钮中的文本一样闪烁?
    • 好的,发生在文本上的效果就像将颜色的 alpha 设置为 0.5 或类似的东西。请告诉我您希望边框具有什么颜色,我将为您提供显示如何做到这一点的代码。
    • 感谢您的帮助。我取得了进展,但还不够。
    猜你喜欢
    • 2015-07-26
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    相关资源
    最近更新 更多