为了账号安全,请及时绑定邮箱和手机立即绑定

iOS Xib自定义View 那点事

标签:
iOS
  xib的优势不多说了吧,方便快捷,虽然也有不可忽视的缺点,但是现在苹果设备内存、处理器越来越牛,那点缺点和快捷舒服的开发,是不是就可以忽略了?
  但是作为一个资深开发者,也常常会忽视一些问题,导致我们弃用Xib,例如Xib创建UItableViewCell,因为创建时就有Xib勾选项,所以我们可以不用管,直接勾选来创建;但是,遇见自定义View时呢?遇见大大小小的问题常常觉得还没有代码写着方便,下面就记录下我的学习的那点经验吧。
  1. 创建代码文件图片描述
    图片描述

  2. 创建Xib文件
    图片描述
    图片描述
    图片描述

  3. 关联文件
    图片描述

下面添加按钮,关联点击事件
这里就有file’s owner尽量不要设置的原因了图片描述

细心的可能已经看出问题了,继续往下看
设置按钮的点击方法- (IBAction)btnClicked:(id)sender
运行,点击按钮,看下调用栈:
图片描述
明显不对,我要调用的是CustomView里的- (IBAction)btnClicked:(id)sender方法,结果调用的是ViewController类里的方法

看下ViewController里,原来有个同名方法
图片描述
图片描述

但是我设置的File’s owner是CustomView啊,我就改动了CustomView里的关联方法名,再次运行,点击按钮
图片描述

这次验证了我的猜想,即使设置了file’s owner,默认的也不是CustomView,并不能寻找方法实现的关联类 ,而是找到了控制器
所以,尽量不去设置file’s owner, 有谁知道原因欢迎留言评论。
如果非要设置,不是不可以
图片描述

设置方法的时候就要注意,方法的Object对象了,选择自定义的View名,不要选择file’s owner,然后就能愉快的玩耍了图片描述

使用的时候

  CustomView *view = [[NSBundle mainBundle]loadNibNamed:@"xib的名字" owner:self options:nil].lastObject;
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
移动开发工程师
手记
粉丝
32
获赞与收藏
322

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消