美文网首页
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