iOS 取消按钮高亮显示方法

Posted Taurin_Coder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 取消按钮高亮显示方法相关的知识,希望对你有一定的参考价值。

objective-C

第1种方法: 设置按钮的normal 与 highlighted 一样的图片, 不过如果你也需要selected状态下的图片, 就不能这么做, 这样做在取消选中状态的时候就会显示高亮状态, 所以这样不推荐

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

 

第2种方法, 不过这种也有一个问题, 就是如果第一次按住你会发现他不改变, 当第2次点击并且按住他马上就会变回normal状态, 所以这样也不推荐

    [button setImage:[UIImage imageNamed:@"add"] forState:UIControlStateNormal];
    [button setImage:[UIImage imageNamed:@"add_disabled"] forState:UIControlStateSelected];
    button.showsTouchWhenHighlighted = YES;

 

第3种方法, 也是推荐的, 自定义按钮, 重写- (void)setHighlighted:(BOOL)highlighted方法

- (void)setHighlighted:(BOOL)highlighted {
 
}

 

Swift

第1.2种方法跟一样, 不推荐

第3种, 推荐与 objecive-c 思想是一样的

    override var highlighted: Bool {
        set{
            
        }
        get {
            return false
        }
    }

 

以上是关于iOS 取消按钮高亮显示方法的主要内容,如果未能解决你的问题,请参考以下文章

使用 selectedBackgroundView 显示高亮状态

HTML代码片段

HTML代码片段

(element-ui)取消el-table的hover状态,取消高亮显示

TreeView取消节点时为什么还是高亮显示呢

如何在nib文件中按下时禁用UIButton高亮显示?