iOS Xib自定义View 那点事

释放双眼,带上耳机,听听看~!
  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;

人已赞赏
iOS文章

iOS动画开发之四核心动画编程(CoreAnimation)

2019-10-1 19:23:46

iOS文章

iOS动画开发之五炫酷的粒子效果

2019-10-2 4:24:41

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索