網(wǎng)上有很多關(guān)于實(shí)現(xiàn)用xib自定義View,那我為什么還要寫呢?第一,我用他們的方法都沒有實(shí)現(xiàn)。第二,用xib遇到了很多問題,想分享給大家。
用xib自定義View:FHCustomView
1.新建UIView

FHCustomView.png
2.建一個同名xib : FHCustomView.xib

新建xib(1).png

新建xib(2).png
3.配置FHCustomView.xib

xib配置.png
注意:(1)只需要配置View ->Class 為FHCustomView就可以了,以前我把File’s Ower ->Class也配置為FHCustomView了,結(jié)果在iOS7中閃退,按鈕的點(diǎn)擊的方法報
unrecognized selector sent to instance 0x1741df770錯誤,閃退。不用配置File‘s Ower ->Class!4.重寫initWithFrame方法
FHCustomView.m
#import "FHCustomView.h"
@implementation FHCustomView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
self = [[[NSBundle mainBundle] loadNibNamed:@"FHCustomView" owner:self options:nil] lastObject];
if (self) {
self.frame = frame;
}
return self;
}
@end
到這里,用xib自定義View就結(jié)束了,是不是感覺很簡單。確實(shí)很簡單,但是我也踩過很多坑。如果配置File’s Ower ->Class,在iOS9、iOS10中都沒問題,但是iOS7就會閃退。由于一開始沒有iOS7的測試機(jī),我一直沒辦法定位到問題出現(xiàn)在哪里。個人建議昂,如果剛開始接觸iOS開發(fā),最好別用xib。雖然上手容易,不過還是有很多坑,出了問題不好定位,而且只要出問題就是閃退,容錯率太低,用戶體驗(yàn)不好。