自定義控件能滿(mǎn)足快速迭代的需要畔咧,我把常用的控件整理出來(lái)娶靡,歡迎使用牧牢。
1.PageControl
由于系統(tǒng)的PageControl控件的限制,不能修改顏色姿锭,更換圖片塔鳍,修改大小。所以開(kāi)發(fā)了此控件呻此。
/*默認(rèn)使用顏色填充,還有其他參數(shù)可以修改* /
_pageControl.numberOfPages = 5;//一共多少頁(yè)
[_pageControl setOffColor: [UIColor whiteColor]];//非當(dāng)前頁(yè)的圓點(diǎn)顏色
[_pageControl setOnColor: [UIColor redColor]];//當(dāng)前頁(yè)的圓點(diǎn)顏色
[_pageControl setIndicatorDiameter: 7.0f] ;//圓點(diǎn)的直徑
[_pageControl setIndicatorSpace: 12.0f] ;//圓點(diǎn)之間的距離
2.倒計(jì)時(shí)控件
項(xiàng)目中經(jīng)常用到獲取驗(yàn)證碼的控件轮纫,用NSTimer控制時(shí)間,刷新按鈕等趾诗。整理出來(lái)蜡感,避免代碼冗余蹬蚁,使邏輯清晰恃泪。
IBOutlet LCCountDownButton *_countDownButton;//定義
_countDownButton.timeOut = 10;//設(shè)置時(shí)間,默認(rèn)是60秒
按鈕點(diǎn)擊事件方法中調(diào)用:
[_countDownButton beginCountDown];//開(kāi)始計(jì)時(shí)
3.PlaceHolderTextView
系統(tǒng)的textview控件無(wú)法添加提示語(yǔ)犀斋,不能修改顏色贝乎,大小,對(duì)齊方式叽粹。提示語(yǔ)在沒(méi)有內(nèi)容時(shí)顯示览效,填寫(xiě)的時(shí)候自動(dòng)隱藏。
_textView.placeholder = @"請(qǐng)輸入你想說(shuō)的話(huà)...";//提示文本
_textView.placeholderColor = [UIColor redColor];//文本顏色
//_textView.placeHolderTextAlignment = NSTextAlignmentCenter;//對(duì)齊方式虫几,默認(rèn)左對(duì)齊
4.評(píng)分控件
此控件有兩個(gè)功能:
1)僅僅顯示評(píng)分锤灿,一份代表一顆星,總分可以設(shè)置辆脸。
2)點(diǎn)擊評(píng)分功能但校。
5.跑馬燈效果
項(xiàng)目中如果文字過(guò)長(zhǎng),由于屏幕寬度的限制啡氢,顯示不完整状囱,但是文本又不能截取。跑馬燈是這種情況下最好的解決方案倘是。
[_label setText:@"你發(fā)如雪 凄美了離別 我焚香感動(dòng)了誰(shuí) 邀明月 讓回憶皎潔 愛(ài)在月光下完美"];//跑馬燈文本
_label.backgroundColor = [UIColor clearColor];
_label.subLabel.backgroundColor = [UIColor clearColor];
_label.subLabel.textColor = [UIColor redColor];//文本顏色
6.標(biāo)簽TagView
如下圖所示亭枷。此控件經(jīng)常用來(lái)顯示個(gè)性標(biāo)簽。
//定義標(biāo)簽的文本屬性
TagAttribute *attr = [[TagAttribute alloc] init];
attr.textBackgroundColor = [UIColor clearColor];//背景色
attr.textColor = [UIColor colorWithRed:0.0 green:144.0/255.0 blue:1.0 alpha:1.0];//文本顏色
attr.textFont = [UIFont systemFontOfSize:12.0];//文本大小
attr.borderDisplay = YES;//是否顯示邊框
attr.borderColor = [UIColor colorWithRed:140.0/255.0 green:204.0/255.0 blue:1.0 alpha:1.0];//文本框顏色
attr.horizotalPadding = 3.0;//間隔
_tagView.tagAttribute = attr;
_tagView.tags = @[@"自駕游",@"愛(ài)吹牛",@"90后",@"王菲",@"愛(ài)我別走搀崭,如果你說(shuō)",@"喜歡陶喆",@"發(fā)如雪叨粘,凄美"];//標(biāo)簽內(nèi)容,用數(shù)組傳遞。自動(dòng)計(jì)算
[_tagView displayTags];//開(kāi)始繪制
7.segmentControl
此控件的主要作用就是減少冗余重復(fù)代碼升敲,減少開(kāi)發(fā)者重復(fù)的判斷和多余的開(kāi)發(fā)袍镀。
只需要在布局文件上把父view類(lèi)換成SegmentControl類(lèi)別,可以達(dá)到自動(dòng)控制冻晤。
此控件不需要寫(xiě)代碼苇羡。僅僅連接把父類(lèi)類(lèi)別更改即可。
以上所有代碼: <a title="">
LCControlDemo</a>