美文网首页基础应用
取消UIButton点击时的高亮效果

取消UIButton点击时的高亮效果

作者: ElaineYin | 来源:发表于2019-03-07 13:28 被阅读0次

    取消点击效果,我们通常有下面几种做法:
    1、设置adjustsImageWhenHighlighted属性

    button.adjustsImageWhenHighlighted = NO;
    

    2、设置UIControlStateHighlighted状态下的图片

    [button setImage:[UIImage imageNamed:@"like"] forState:UIControlStateNormal];
    [button setImage:[UIImage imageNamed:@"like"] forState: UIControlStateHighlighted];
    

    3、我们设置normalselected状态下显示不同图片

    [button setImage:[UIImage imageNamed:@"like"] forState:UIControlStateNormal];
    [button setImage:[UIImage imageNamed:@"like_selected"] forState:UIControlStateSelected];
    

    并且都不显示点击高亮效果时,上面的两种方法就不够用了,buttonnormal状态下点击,没有问题,但是当buttonUIControlStateSelected状态,按下时会显示UIControlStateNormal效果的图片,这是因为当selected = YES的时候,当前按钮处于UIControlStateSelected状态,当按住按钮的时候按钮的状态变成了UIControlStateNormal状态


    最终解决办法:
    1、自定义button,重写系统setHighlighted方法,该方法

    @interface MyButton : UIButton
    
    // 重写系统setHighlighted方法,取消按钮点击高亮显示
    - (void)setHighlighted:(BOOL)highlighted {}
    

    相关文章

      网友评论

        本文标题:取消UIButton点击时的高亮效果

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