UIButton的擴(kuò)展
常用到倒計(jì)時(shí)的按鈕,按鈕的點(diǎn)擊事件頻率限制腹尖,按鈕點(diǎn)擊時(shí)的各類提示語(yǔ)等狮荔;
倒計(jì)時(shí):
一般倒計(jì)時(shí),我們常用NStimer 開啟一個(gè)定時(shí)器來(lái)實(shí)現(xiàn)贫贝,可以對(duì)Button或UIKit等控件直接進(jìn)行擴(kuò)展
創(chuàng)建一個(gè)擴(kuò)展類秉犹,在.h中對(duì)button擴(kuò)展一個(gè)靜態(tài)方法
UIButton+Cate.h
在.m中實(shí)現(xiàn)該靜態(tài)方法
UIButton+Cate.m
同樣我們可以對(duì)button擴(kuò)展各種各樣的屬性方法,常見的比如按鈕點(diǎn)擊頻率稚晚、按鈕點(diǎn)擊事件的網(wǎng)絡(luò)判斷崇堵、按鈕點(diǎn)擊時(shí)的提示語(yǔ)等
UIButton+Cate.h 擴(kuò)展屬性
對(duì)于屬性的擴(kuò)展,需要用到runtime才能實(shí)現(xiàn)客燕,因此我們需要先聲明一個(gè)全局的參數(shù)來(lái)標(biāo)記擴(kuò)展的屬性鸳劳,在屬性的set/get方法中 通過runtime的方法 讀取
擴(kuò)展屬性的實(shí)現(xiàn)
屬性擴(kuò)展后,我們通過在+load()方法中交互button的事件也搓,來(lái)實(shí)現(xiàn)我們擴(kuò)展屬性的使用
load方法
交換方法的實(shí)現(xiàn)
詳細(xì)demo 請(qǐng)參考https://github.com/fan-k/UIButton-Cate