自定义控件能满足快速迭代的需要,我把常用的控件整理出来,欢迎使用。
####1.PageControl
由于系统的PageControl控件的限制,不能修改颜色,更换图片,修改大小。所以开发了此控件。
1 2 3 4 5 6
| /*默认使用颜色填充,还有其他参数可以修改* / _pageControl.numberOfPages = 5;//一共多少页 [_pageControl setOffColor: [UIColor whiteColor]];//非当前页的圆点颜色 [_pageControl setOnColor: [UIColor redColor]];//当前页的圆点颜色 [_pageControl setIndicatorDiameter: 7.0f] ;//圆点的直径 [_pageControl setIndicatorSpace: 12.0f] ;//圆点之间的距离
|
####2.倒计时控件
项目中经常用到获取验证码的控件,用NSTimer控制时间,刷新按钮等。整理出来,避免代码冗余,使逻辑清晰。
1 2 3 4 5
| IBOutlet LCCountDownButton *_countDownButton;//定义 _countDownButton.timeOut = 10;//设置时间,默认是60秒
按钮点击事件方法中调用: [_countDownButton beginCountDown];//开始计时
|
####3.PlaceHolderTextView
系统的textview控件无法添加提示语,不能修改颜色,大小,对齐方式。提示语在没有内容时显示,填写的时候自动隐藏。
1 2 3
| _textView.placeholder = @"请输入你想说的话...";//提示文本 _textView.placeholderColor = [UIColor redColor];//文本颜色 //_textView.placeHolderTextAlignment = NSTextAlignmentCenter;//对齐方式,默认左对齐
|
####4.评分控件
此控件有两个功能:
1)仅仅显示评分,一份代表一颗星,总分可以设置。
2)点击评分功能。
####5.跑马灯效果
项目中如果文字过长,由于屏幕宽度的限制,显示不完整,但是文本又不能截取。跑马灯是这种情况下最好的解决方案。
1 2 3 4
| [_label setText:@"你发如雪 凄美了离别 我焚香感动了谁 邀明月 让回忆皎洁 爱在月光下完美"];//跑马灯文本 _label.backgroundColor = [UIColor clearColor]; _label.subLabel.backgroundColor = [UIColor clearColor]; _label.subLabel.textColor = [UIColor redColor];//文本颜色
|
####6.标签TagView
如下图所示。此控件经常用来显示个性标签。
1 2 3 4 5 6 7 8 9 10 11 12 13
| //定义标签的文本属性 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 = @[@"自驾游",@"爱吹牛",@"90后",@"王菲",@"爱我别走,如果你说",@"喜欢陶喆",@"发如雪,凄美"];//标签内容,用数组传递。自动计算 [_tagView displayTags];//开始绘制
|
####7.segmentControl
此控件的主要作用就是减少冗余重复代码,减少开发者重复的判断和多余的开发。
只需要在布局文件上把父view类换成SegmentControl类别,可以达到自动控制。
此控件不需要写代码。仅仅连接把父类类别更改即可。
以上所有代码:
LCControlDemo