1.创建一个继承自UIView的类,命名为FirstView.
2.创建xib文件,名字为FirstView.(注意这个时候名字不用手敲,可以点击类名自动补全名字)
3.修改xib文件中view类的名字。(网上有很多说要修改File’s owner的custom class,但是我只要File’s owner的custom class继承自FirstView,就会崩溃,所以干脆直接设置下面的view,继承自FirstView)通过拖拽控件的线完成控件的部署。
这时候是该写代码了在FirstView.m文件中写类方法
+ (instancetype)loadView{
FirstView*view = [[[NSBundlemainBundle]loadNibNamed:NSStringFromClass(self) owner:selfoptions:nil]firstObject];
returnview;
}
4.修改frame.
这里有三种做法.
第一种,当在controller的viewdidload中使用的时候,因为xib开启了auto layout,设置frame不生效,这是因为viewdidload加载在autolayout之前,导致设置的frame被覆盖了,这时候设置frame可以放在- (void)viewDidLayoutSubviews这个方法中。
第二种:
直接去掉auto layout。
第三种,可以通过设置xib的size为freeform或none。