相信很多新人猿猿(包括我自己)對于UIEdgeInsets屬性應(yīng)該不會(huì)太陌生了逐工,我們經(jīng)常用它在表格tableView,滾動(dòng)視圖scrollView漂辐,網(wǎng)頁視圖webView等控件進(jìn)行內(nèi)容區(qū)域的設(shè)置泪喊。不過并不是所有的控件都是那么幸運(yùn)的有自帶UIEdgeInsets屬性,比如UILabel髓涯、UITextField等袒啼。那么如果我們不幸遇到需要設(shè)置UILabel文字與邊框有一段距離的情況,是不是就不好搞了纬纪,是不是覺得其它控件有自帶UIEdgeInsets屬性是多么爽的事蚓再,不用擔(dān)心,其實(shí)只要我們重新自定義一個(gè)UILabel就能讓它也帶上UIEdgeInsets屬性的包各。雖然在代碼的世界里摘仅,還有很多種千奇百怪的方法來實(shí)現(xiàn)這種功能,但我僅在此提供自己所用的方法问畅,如果有什么錯(cuò)誤或不足之處娃属,請多多見諒。
不多說了护姆,直接上代碼:
點(diǎn)h文件中聲明一個(gè)UIEdgeInsets屬性
點(diǎn)m文件中實(shí)現(xiàn)UIEdgeInsets屬性的set方法
嗯嗯矾端,大概就是這樣。我們自定義的UILabel控件就帶有了UIEdgeInsets屬性卵皂,以此類推秩铆,自定義別的控件,我們也可以添加我們需求的屬性和方法灯变,超級便捷殴玛、好用捅膘。