美文网首页
UIButton的highlighted状态

UIButton的highlighted状态

作者: 路在脚下了 | 来源:发表于2018-05-17 10:28 被阅读14次

UIButton的状态变化,有可能出乎你的意料,这里就来说说变化中间的highlighted状态:
normal --> highlighted --> selected,这个变化过程大家都知道,
然而从selected --> normal并不是这样,中间的状态是.normal | . highlighted
如果你的按钮时selected状态,点击高亮状态,展示的并不是你需要的图片,此时就需要设置.normal | . highlighted这种状态的图片了。

// OC
[button setImage:[UIImage imageNamed:@"imageName"] forState:UIControlStateSelected | UIControlStateHighlighted];

// Swift
button.setImage(UIImage(named: "imageName"), for: [.selected, .highlighted])

不需要高亮状态的需求:
如果不需要高亮状态,可以自定义UIButton,重写setHighlighted方法,如下:

 // OC
- (void)setHighlighted:(BOOL)highlighted {

}

// Swift
class CustomBtn: UIButton {
    override var isHighlighted: Bool {
        set {
            
        }
        get {
            return false
        }
    }
}

然后就不需要设置高亮状态的代码了,按钮点击也无高亮状态的变化。

相关文章

网友评论

      本文标题:UIButton的highlighted状态

      本文链接:https://www.haomeiwen.com/subject/hiavdftx.html