继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

iOS Xib自定义View 那点事

ZKReadStone
关注TA
已关注
手记 52
粉丝 32
获赞 322
  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;
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP