创建一个继承view的HeaderView,再创建一个xib并关联上HeaderView,在HeaderView中如下这样写,创建HeaderView的时候,直接alloc initWithFrame,frame将会赋值给xib,就是frame的坐标大小会改变xib的大小位置
#import <UIKit/UIKit.h>
@interface HeaderView : UIView
@end
#import "HeaderView.h"
#define LOAD_XIB_CLASS( __X ) [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass( [ __X class] ) owner:nil options:nil] objectAtIndex:0]
@implementation HeaderView
- (instancetype)initWithFrame:(CGRect)frame
{
self = [superinitWithFrame:frame];
if (self) {
UIView *pview =LOAD_XIB_CLASS(HeaderView);
pview.frame = frame;
[selfaddSubview:pview];
}
returnself;
}
@end
更新:
以上init方法完全没必要写,直接在创建的地方这样创建HeaderView *pview = LOAD_XIB_CLASS(HeaderView);
再把xib上的控件拖到HeaderView.h的interface里面就可以通过pview.来给属性赋值了