第一個(gè)Xcode項(xiàng)目(7) - ①Button的Image變色②

[相關(guān)信息:Xcode7.2 ; Swift2.0]

上一篇我們已經(jīng)把控件和事件都綁定好了拔疚,那接下來就是按照邏輯把代碼寫出來


為按鈕點(diǎn)擊事件添加代碼

然后我們運(yùn)行來看下效果


02.png
我們點(diǎn)擊第一行的按鈕痪欲,沒有邊框的按鈕它都會(huì)加上邊框。
我們點(diǎn)擊第二行的按鈕返咱,下方都會(huì)輸出它的背景顏色色值,那么問題來了,我們要怎么把點(diǎn)擊的按鈕以外的按鈕的邊框去掉樱拴?(好像有點(diǎn)繞啊,吃葡萄不吃葡萄皮潘拱,來~說20遍)

我的思路是疹鳄,點(diǎn)擊按鈕以后把所有按鈕的邊框去掉拧略,然后再把點(diǎn)擊的按鈕的邊框加上芦岂,嗯~對(duì),就這么干

@IBAction func typeBtnCheck(sender: UIButton) {
    for btn in typeBtn {
        btn.layer.borderWidth = 0
    } // for循環(huán)遍歷 typeBtn 集合垫蛆,把集合里的按鈕的邊框設(shè)為0
    sender.layer.borderWidth = 1
    sender.layer.borderColor = UIColor.init(red: 176/255.0, green: 176/255.0, blue: 176/255.0, alpha: 1).CGColor
}

然后我們運(yùn)行APP禽最,就可以看到我們要的效果出現(xiàn)了。

最后就是我們的標(biāo)題的功能了袱饭,怎么讓按鈕的圖片變顏色 (很顯然川无,我不會(huì)用N張圖片換替換按鈕的Image,這樣顯得太low了虑乖。我們只要幾行代碼就可以讓按鈕的背景圖片變顏色懦趋,還是想要什么顏色就變什么顏色。)
.[不明真相的觀眾姥爺]: 別逗疹味,要是真有這么簡(jiǎn)單這么好仅叫,還要美工干嘛


將第一行按鈕的類型改為System

設(shè)置我們想要的顏色

設(shè)置完之后是這樣子的


設(shè)置完以后的樣子
然后姥爺就開始吐槽了,你這哪里是改圖片顏色糙捺,這根本就是直接在上面加個(gè)顏色把圖片蓋住了诫咱。

莫急莫急,請(qǐng)讓我墨跡墨跡洪灯。

在很前面的文章里我記得是提醒過的 點(diǎn)擊傳送門

溫馨而友善的提示
我為什么沒透明坎缭?因?yàn)槲疫@是要犯錯(cuò)誤給觀眾姥爺看啊,怕你們遇到這問題 (我才不會(huì)說我是忘了,嫌麻煩沒換呢)

那我們現(xiàn)在把圖片換一下吧


換好圖片立馬出效果掏呼,有木有坏快?

好,這邊設(shè)置好了憎夷,我們繼續(xù)去打碼...

override func viewDidLoad() {
    super.viewDidLoad()
    
    selectColor = typeColorBtn[0].backgroundColor // 給selectColor設(shè)置一個(gè)默認(rèn)的顏色假消,我這取的顏色是塊色第一個(gè)的顏色作為默認(rèn)的顏色
    // Do any additional setup after loading the view.
}
@IBAction func typeBtnCheck(sender: UIButton) {
    for btn in typeBtn {
        btn.layer.borderWidth = 0
    }
    sender.layer.borderWidth = 1
    sender.layer.borderColor = UIColor.init(red: 176/255.0, green: 176/255.0, blue: 176/255.0, alpha: 1).CGColor
    sender.tintColor = selectColor //只要這一句,就搞定
}

運(yùn)行APP看效果 (Command+R)


運(yùn)行APP的效果

是不是覺得很神奇傲虢印富拗?

這里我們還需要在改進(jìn)一下,讓未點(diǎn)擊的按鈕變成原來的顏色

@IBAction func typeBtnCheck(sender: UIButton) {
    for btn in typeBtn {
        btn.layer.borderWidth = 0
        btn.tintColor = typeColorBtn[0].backgroundColor //點(diǎn)擊時(shí)還原其它按鈕的顏色
    }
    sender.layer.borderWidth = 1
    sender.layer.borderColor = UIColor.init(red: 176/255.0, green: 176/255.0, blue: 176/255.0, alpha: 1).CGColor
    sender.tintColor = selectColor
}

到此鸣戴,Button的Image變色功能就完成了啃沪。
最后感嘆一句,xcode太TM神奇了窄锅。??????

補(bǔ)一段完整代碼

class EidtViewController: UIViewController {

    @IBOutlet var typeBtn: [UIButton]!
    @IBOutlet var typeColorBtn: [UIButton]!

    var selectColor: UIColor?

    override func viewDidLoad() {
        super.viewDidLoad()
    
        selectColor = typeColorBtn[0].backgroundColor
        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func typeBtnCheck(sender: UIButton) {
        for btn in typeBtn {
            btn.layer.borderWidth = 0
            btn.tintColor = typeColorBtn[0].backgroundColor
        }
        sender.layer.borderWidth = 1
        sender.layer.borderColor = UIColor.init(red: 176/255.0, green: 176/255.0, blue: 176/255.0, alpha: 1).CGColor
        sender.tintColor = selectColor
    }
    @IBAction func typeColorBtnCheck(sender: UIButton) {
        selectColor = sender.backgroundColor
        print(selectColor)
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末纳猪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子殷费,更是在濱河造成了極大的恐慌眉枕,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疏之,死亡現(xiàn)場(chǎng)離奇詭異殿雪,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)锋爪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門丙曙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人其骄,你說我怎么就攤上這事亏镰。” “怎么了拯爽?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵索抓,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我毯炮,道長(zhǎng)逼肯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任否副,我火速辦了婚禮汉矿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘备禀。我一直安慰自己洲拇,他們只是感情好奈揍,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著赋续,像睡著了一般男翰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上纽乱,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天蛾绎,我揣著相機(jī)與錄音,去河邊找鬼鸦列。 笑死租冠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的薯嗤。 我是一名探鬼主播顽爹,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼骆姐!你這毒婦竟也來了镜粤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤玻褪,失蹤者是張志新(化名)和其女友劉穎肉渴,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體带射,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡同规,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了庸诱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捻浦。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖桥爽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情昧识,我是刑警寧澤钠四,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站跪楞,受9級(jí)特大地震影響缀去,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜甸祭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一缕碎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧池户,春花似錦咏雌、人聲如沸凡怎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)统倒。三九已至,卻和暖如春氛雪,著一層夾襖步出監(jiān)牢的瞬間房匆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工报亩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留浴鸿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓弦追,卻偏偏與公主長(zhǎng)得像赚楚,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子骗卜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,777評(píng)論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)宠页、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,065評(píng)論 4 62
  • 總是畫不出菲兒那種飄逸的感覺寇仓,昨天畫完發(fā)現(xiàn)下面的蓮花畫小了举户,現(xiàn)在改了一下,老師看看可還行遍烦?
    Mikachu閱讀 155評(píng)論 3 0
  • 11月5日服猪,是一個(gè)與我有緣的日子供填。 這一天,我和家人慶祝了結(jié)婚十周年紀(jì)念日罢猪。十年前近她,我和妻子從相識(shí)、相愛膳帕,到相許粘捎,...
    心光如炬_尋心奶爸閱讀 498評(píng)論 9 19
  • 1、刑法復(fù)習(xí)3H:第一講+第二講危彩,課件+攻略+真題攒磨;2、去法院辦兩個(gè)案件汤徽;3娩缰、整理并洗車;微習(xí)慣:6:00早起谒府;背...
    小茉莉成長(zhǎng)記閱讀 58評(píng)論 0 0