UI 自定义视图 Label_TextField
来源:互联网 发布:js 基础类型 编辑:程序博客网 时间:2024/06/06 02:55
自定义视图:提高代码质量(可复用,可移植)
步骤:根据需求的不同,⾃自定义视图继承的类也有所不同。⼀般⾃定义的视图会继承于UIView。以下是⾃自定义视图的要点:
1、创建⼀个UIView⼦类
2、在类的初始化⽅法中添加⼦视图
3、类的.h⽂文件提供⼀些接⼝(⽅法),便于外界操作⼦视图。
.h文件
@interface Label_TextField : UIView
//定义实例变量
@property(nonatomic,retain) UILabel *label;
@property(nonatomic,retain) UITextField *field;
//初始化方法
- (instancetype)initWithFrame:(CGRect)frame
andLabelText:(NSString*)labelText
andPlaceholder:(NSString*)placeholder;
@end
.m文件
@implementation Label_TextField
//重写dealloc方法,释放定义的实例变量
- (void)dealloc
{
[_label release];
[_field release];
[super dealloc];
}
//重写init方法
-(id)init
{
//此处调用的是本类中的指定初始化方法,即initWithFrame:
self=[self initWithFrame:CGRectZero];
if (self) {
}
return self;
}
//重写initWithFrame:方法
- (instancetype)initWithFrame:(CGRect)frame
{
self=[super initWithFrame:frame];
if (self) {
//添加label对象,添加到视图上,并其赋值给实例变量label
UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(0,0,frame.size.width/3, frame.size.height)];
[self addSubview:label];
[label release];
//将创建的label赋给_label
self.label=label;
//添加field对象,添加到视图上,并其赋值给实例变量field
UITextField *field=[[UITextField alloc]initWithFrame:CGRectMake(frame.size.width/3, 0, frame.size.width*2/3, frame.size.height)];
field.backgroundColor=[UIColor orangeColor];
[self addSubview:field];
[field release];
self.field=field;
}
return self;
}
//自定义初始化方法,将UILabel对象的text和UITextField的placeholder赋值
- (instancetype)initWithFrame:(CGRect)frame
andLabelText:(NSString*)labelText
andPlaceholder:(NSString*)placeholder
{
self=[self initWithFrame:frame];
if (self) {
self.label.text=labelText;
self.field.placeholder=placeholder;
}
return self;
}
//重写setFrame:方法 当视图重绘是需要重新设置UILabel和UITextField的frame
- (void)setFrame:(CGRect)frame
{
[super setFrame:frame];
self.label.frame=CGRectMake(0, 0, frame.size.width/3, frame.size.height);
self.field.frame=CGRectMake(frame.size.width/3, 0, frame.size.width*2/3, frame.size.height);
}
@end
- UI 自定义视图 Label_TextField
- UI 自定义视图
- UI基础知识 -- 自定义视图
- UI笔记_自定义视图
- IOS--UI--LessonCustumView 自定义视图
- iOS开发 UI 自定义视图
- UI第三节 自定义视图,视图控制器
- UI 第三天 自定义视图 视图控制器
- UI基础-自定义视图、视图控制器
- UI 基础之-----delegate, 自定义视图
- UI开发----自定义视图和视图控制器(Controller)
- 进击的KFC:UI(三)自定义视图、视图控制器
- 随意细解:UI -- 自定义视图、视图控制器
- UI基础:UI程序执行顺序(UIApplicationMain()函数),自定义视图
- UI 03 自定义的Label-TextField视图 --- LTView
- UI初级之表视图UITableView自定义单元格
- UI视图
- UI视图
- Hibernate Text类型问题 插入修改操作只保存一部分
- mfc 动态导入图像
- nova-network创建实例之FlatManager
- JS 创建对象(常见的几种方法)
- 第六周项目一 (1)(2) 深复制体验
- UI 自定义视图 Label_TextField
- Java之美[从菜鸟到高手演变]之设计模式二
- live555接收实时视频流+ffmpeg解
- 我的第一篇博客
- POJ1423 HDU1018 Big Number【斯特林公式】【高精度】
- 2015年第六周项目二:我的数组类
- Android WebView属性设置
- mfc 自定义消息
- 发的哈佛