按下按钮的效果

时间:2017-08-15 05:30:21

标签: ios swift button xcode8

我怎么能这样做,当你点击它变暗和回来,但所以文本总是可见。

enter image description here

3 个答案:

答案 0 :(得分:1)

将按钮设置为自定义类型,并自定义突出显示和选定状态: enter image description here

答案 1 :(得分:0)

用户点按时更改背景和文字颜色。

答案 2 :(得分:0)

您可以创建一个UIButton子类并为不同的控件状态设置背景图像:

class CustomButton: UIButton {

    override init(frame: CGRect) {
        super.init(frame: frame)
        sharedInit()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        sharedInit()
    }

    private func sharedInit() {
        setBackgroundImage(UIColor.darkGrayColor().image, forState: .Normal)
        setBackgroundImage(UIColor.blackColor().image, forState: .Highlighted)
        setTitleColor(UIColor.whiteColor(), forState: .Normal)
    }

}

extension UIColor {

    var image: UIImage {
        return imageWithSize(CGSize(width: 1, height: 1))
    }

    func imageWithSize(size: CGSize) -> UIImage {
        UIGraphicsBeginImageContextWithOptions(size, true, 0)

        self.setFill()
        UIRectFill(CGRect(origin: .zero, size: size))

        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()

        return image
    }

}