iOS鏈?zhǔn)絼?chuàng)建UI終結(jié)者 ? PPMaker

聲明:PPMakerMasonry功能上是完全不同的庫(kù)梦重,PPMaker是快速便捷創(chuàng)建UI/attributedText等的兑燥,而Masonry是布局的。

做iOS開(kāi)發(fā)琴拧,創(chuàng)建UI控件降瞳,必須的不說(shuō),還多蚓胸,尤其你新入手一個(gè)項(xiàng)目挣饥。

我自己寫(xiě)代碼,向來(lái)想省事:怎么能不一個(gè)一個(gè)屬性寫(xiě)赢织?帶著這個(gè)問(wèn)題亮靴,我剛開(kāi)始創(chuàng)建了各種Tool來(lái)處理,后來(lái)用Category證據(jù)在此)于置,可Category有個(gè)煩人的問(wèn)題:有些屬性我不需要但是方法參數(shù)有茧吊,而有些屬性我需要方法參數(shù)沒(méi)有

昨天八毯,看到臧成威如何利用Objective-C寫(xiě)一個(gè)精美的DSL,唉搓侄,挺好,就想著優(yōu)化下自己的话速,于是就有了 PPMaker.

在此讶踪,獻(xiàn)上對(duì)臧老師的感謝。

PPMaker的不同(優(yōu)點(diǎn))

? 鏈?zhǔn)秸{(diào)用泊交,代碼簡(jiǎn)潔乳讥;

特別字符統(tǒng)一處理

? 點(diǎn)語(yǔ)法后面有提示(Masonry是沒(méi)有的 )

PPMaker有提示
Masonry沒(méi)提示

? 不需要終結(jié)詞 臧老師給的示例有廓俭;

? 不需要助詞 如Masonry中的with云石,這個(gè)也可以說(shuō)是一個(gè)缺點(diǎn)吧;

? pod可根據(jù)需求隨意選擇研乒。

模塊可獨(dú)立使用

? 不需要的屬性汹忠,根本不用管 主要對(duì)比Category;

PPMaker的用法

第一步、導(dǎo)入PPMaker

方法一、使用CocoaPods安裝

pod 'PPMaker', '~> 0.0.22'

方法二宽菜、手動(dòng)下載拖入

第二步谣膳、用對(duì)應(yīng)的類如:UILable直接調(diào)用pp_

easyToUse_lb
easyToUse_imgV

如下創(chuàng)建一個(gè)簡(jiǎn)單的UILabel對(duì)象:


Snip20180509_10.png

maker調(diào)用,直接調(diào)UILabel對(duì)象的屬性铅乡,如text继谚、textColorframe等隆判,當(dāng)然也有自定義的犬庇,如intoView表示要加到哪個(gè)view上、fontSize實(shí)際上[UIFont systemFontOfSize:fontSize]的簡(jiǎn)化等等侨嘀。

總之臭挽,PPMaker is very easy to use.

創(chuàng)建UI控件的路程

起初:一個(gè)屬性一個(gè)屬性賦值

    UILabel *lb = [[UILabel alloc]initWithFrame:CGRectMake(10, 10, 300, 50)];
    [self.view addSubview:lb];
    lb.backgroundColor = [UIColor whiteColor];
    lb.text = @"我是一個(gè)lb";
    lb.textColor = [UIColor blueColor];
    lb.textAlignment = NSTextAlignmentCenter;
    lb.font = [UIFont systemFontOfSize:18];

后來(lái):用Category快速創(chuàng)建

@interface UILabel (EasyMake)
+(UILabel *)lbMakeWithSuperV:(UIView *)superV
                       frame:(CGRect)frame
                        font:(UIFont *)font
                   alignment:(NSTextAlignment)alignment
                        text:(NSString *)text
                   textColor:(UIColor *)textColor;

@implementation UILabel (EasyMake)
+(UILabel *)lbMakeWithSuperV:(UIView *)superV
                       frame:(CGRect)frame
                        font:(UIFont *)font
                   alignment:(NSTextAlignment)alignment
                        text:(NSString *)text
                   textColor:(UIColor *)textColor
{
    UILabel *lb = [[UILabel alloc]init];
    if (superV) {
        [superV addSubview:lb];
    }
    if (font) {
        lb.font = font;
    }
    if (text) {
        lb.text = text;
    }
    if (textColor) {
        lb.textColor = textColor;
    }
    lb.frame = frame;
    lb.textAlignment = alignment;
    return lb;
}
@end

現(xiàn)在:鏈?zhǔn)秸{(diào)用的 DSL

Snip20180509_11.png
Snip20180509_13.png
Snip20180509_14.png
Snip20180509_15.png

結(jié)語(yǔ)

PPMaker是自己寫(xiě)的最滿意的一個(gè)庫(kù),解決了自己一直以來(lái)創(chuàng)建UI咬腕、配置attributedText的苦惱欢峰,這其中也參考了一些大神的的blog和開(kāi)源庫(kù),在此涨共,再次表示感謝纽帖。今天,分享自己的這個(gè)庫(kù)举反,希望幫助像我一樣的同學(xué)懊直,其次,希望覺(jué)得好的火鼻,給個(gè)star.

當(dāng)然了室囊,這個(gè)庫(kù),我會(huì)持續(xù)更新的魁索,有什么問(wèn)題融撞,歡迎提出來(lái)〈治担或者誰(shuí)有更好的做法尝偎,熱烈歡迎告知一下,深表謝意鹏控!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末致扯,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子当辐,更是在濱河造成了極大的恐慌抖僵,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瀑构,死亡現(xiàn)場(chǎng)離奇詭異裆针,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)寺晌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)世吨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人呻征,你說(shuō)我怎么就攤上這事耘婚。” “怎么了陆赋?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵沐祷,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我攒岛,道長(zhǎng)赖临,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任灾锯,我火速辦了婚禮兢榨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘顺饮。我一直安慰自己吵聪,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布兼雄。 她就那樣靜靜地躺著吟逝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赦肋。 梳的紋絲不亂的頭發(fā)上块攒,一...
    開(kāi)封第一講書(shū)人閱讀 52,268評(píng)論 1 309
  • 那天,我揣著相機(jī)與錄音金砍,去河邊找鬼局蚀。 笑死,一個(gè)胖子當(dāng)著我的面吹牛恕稠,可吹牛的內(nèi)容都是我干的琅绅。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼鹅巍,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼千扶!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起骆捧,我...
    開(kāi)封第一講書(shū)人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤澎羞,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后敛苇,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體妆绞,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了括饶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片株茶。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖图焰,靈堂內(nèi)的尸體忽然破棺而出启盛,到底是詐尸還是另有隱情,我是刑警寧澤技羔,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布僵闯,位于F島的核電站,受9級(jí)特大地震影響藤滥,放射性物質(zhì)發(fā)生泄漏鳖粟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一拙绊、第九天 我趴在偏房一處隱蔽的房頂上張望牺弹。 院中可真熱鬧,春花似錦时呀、人聲如沸张漂。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)航攒。三九已至,卻和暖如春趴梢,著一層夾襖步出監(jiān)牢的瞬間漠畜,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工坞靶, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留憔狞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓彰阴,卻偏偏與公主長(zhǎng)得像瘾敢,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子尿这,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

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