今天聊一下xcode使用xib文件创建view
1.创建一个叫XIBView的工程
2.添加一个叫TestView继承自UIView的类,添加一个同样叫TestViewUIView类型的XIB文件
3.代码与XIB文件关联,选择XIB文件,选择XIB文件左上角的File's Owner选项,选择右上角的第二行的第三个选项show the identity inspector的第一个分区的第一行,输入需要关联的类名TestView
4.选中view,点击右上角第一行的第二个选项(双环),多出来一个TestView.m文件这个切换到TestView.h文件,连线添加TestView XIB文件成为 TestView的属性,输入属性名称contentView,
5,在TestView.m文件里添加三个方法(把方法两端的中括号去掉,下同)
- (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
[self awakeFromNib];
}
return self;
}
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
if (self = [super initWithCoder:aDecoder]) {
[self awakeFromNib];
}
return self;
}
- (void)awakeFromNib {
[[NSBundle mainBundle] loadNibNamed:@"TestView" owner:self options:nil];
self.contentView.frame = self.bounds;
self.contentView.backgroundColor = [UIColor orangeColor];
[self addSubview:self.contentView];
}
6.在ViewController里面调用
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
TestView *testView = [[TestView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
[self.view addSubview:testView];
}
运行效果图
7,在XIB文件的中间添加一个label,运行效果
字数输入多了,label显示的范围已经超过的他的父视图TestView,这个不是问题