iOS 用xib自定义View

网上有很多关于实现用xib自定义View,那我为什么还要写呢?第一,我用他们的方法都没有实现。第二,用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了,结果在iOS7中闪退,按钮的点击的方法报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就结束了,是不是感觉很简单。确实很简单,但是我也踩过很多坑。如果配置File’s Ower ->Class,在iOS9、iOS10中都没问题,但是iOS7就会闪退。由于一开始没有iOS7的测试机,我一直没办法定位到问题出现在哪里。个人建议昂,如果刚开始接触iOS开发,最好别用xib。虽然上手容易,不过还是有很多坑,出了问题不好定位,而且只要出问题就是闪退,容错率太低,用户体验不好。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,650评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,273评论 19 139
  • 年假回家听说姑奶奶的情况不太好,今天妈妈就平静的告诉我姑奶奶走了的消息。 假期回家的时候,奶奶已经提过,没想到这么...
    柒秒初安阅读 340评论 4 4
  • 我想偷偷看看你苍郁的树荫下数次徘徊焦灼的望着人来人往独不见你 我只想望你一眼在滂沱的大雨天为你撑伞我已卷起了裤腿做...
    Goger阅读 258评论 1 2
  • 何用浓妆慰寂寥, 天姿娇媚自妖娆 。 莫因梨雪嫌春艳, 一片芳心在碧桃。
    溪风零落阅读 367评论 1 4