今天聊一下xcode使用xib文件创建view
1.创建一个叫XIBView的工程 2.添加一个叫TestView继承自UIView的类,添加一个同样叫TestViewUIView类型的XIB文件
屏幕快照 2016-08-13 下午11.49.31.png3.代码与XIB文件关联,选择XIB文件,选择XIB文件左上角的File's Owner选项,选择右上角的第二行的第三个选项show the identity inspector的第一个分区的第一行,输入需要关联的类名TestView
屏幕快照 2016-08-13 下午11.59.21.png4.选中view,点击右上角第一行的第二个选项(双环),多出来一个TestView.m文件这个切换到TestView.h文件,连线添加TestView XIB文件成为 TestView的属性,输入属性名称contentView,
屏幕快照 2016-08-14 上午12.05.23.png5,在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];
}] 运行效果图
屏幕快照 2016-08-14 上午12.14.01.png 7,在XIB文件的中间添加一个label,运行效果 屏幕快照 2016-08-14 上午12.24.52.png字数输入多了,label显示的范围已经超过的他的父视图TestView,这个不是问题
网友评论