UIButton

一 設(shè)置選中狀態(tài)的背景色

如果使用UIButtonsetBackgroundColor:方法來設(shè)置背景,在點(diǎn)擊該Button的時(shí)候背景色是不會(huì)變換的,如果想背景色發(fā)生變化,可以先在自定義UIButton.h文件中定義兩個(gè)變量

@property(nonatomic, strong) UIColor *backgroundHighlightColor;
@property(nonatomic, strong) UIColor *backgroundNormalColor;

然后在.m文件中添加下面的3個(gè)方法

- (void)setBackgroundNormalColor:(UIColor *)backgroundNormalColor
{
    _backgroundNormalColor = backgroundNormalColor;
    self.backgroundColor = backgroundNormalColor;
}

- (void)setBackgroundColor:(UIColor *)backgroundColor
{
    if (!self.highlighted) {
        //直接設(shè)置backgroundColor屬性,需要把這個(gè)值賦給_backgroundNormalColor,否則后面背景色不能正常切換
        _backgroundNormalColor = backgroundColor;
    }
    [super setBackgroundColor:backgroundColor];

}

- (void)setHighlighted:(BOOL)highlighted
{
    [super setHighlighted:highlighted];
    //如果沒有設(shè)置高亮背景色,則不改變背景色
    if (self.backgroundHighlightColor) {
        self.backgroundColor = highlighted ? self.backgroundHighlightColor : self.backgroundNormalColor;
    }
}```
使用的時(shí)候設(shè)置設(shè)置對(duì)應(yīng)的屬性即可

button.backgroundColor = [UIColor redColor];
button.backgroundHighlightColor = [UIColor greenColor];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 各位童鞋們, UIButton是iOS中常用的控件,下面來詳細(xì)介紹它的使用方法和以及開發(fā)中需要注意的問題. UIB...
    我與太陽肩并肩閱讀 1,466評(píng)論 2 17
  • 一、按鈕上是文字 1.初始化, 由于UIButton 有自己的初始化方式,所以用自己的UIButton *butt...
    傲骨天成科技閱讀 1,994評(píng)論 1 2
  • 關(guān)于UIButton大家都很熟悉,系統(tǒng)默認(rèn)的樣式,是image在左,title在右的,如下圖所示: 但是,很多情況...
    流火緋瞳閱讀 25,876評(píng)論 16 63
  • 一個(gè)UIButton的實(shí)例變量, 使一個(gè)按鈕(button)在觸摸屏上生效。一個(gè)按鈕監(jiān)聽觸摸事件,當(dāng)被點(diǎn)擊時(shí),給目...
    wushuputi閱讀 1,657評(píng)論 0 1
  • 前言:UI控件整理之UIButton 一、顯示圖片(復(fù)選框) UIButton *button = [UIButt...
    心如止水的魚閱讀 356評(píng)論 0 0

友情鏈接更多精彩內(nèi)容