美文网首页iOS developmentSwift编程程序员
自定义XIB View里面添加其他自定义Xib View

自定义XIB View里面添加其他自定义Xib View

作者: 七秒记忆的鱼儿 | 来源:发表于2017-03-12 11:35 被阅读3070次

上周五七秒没事写swfit项目的时候,遇到的问题:

在商城订单评论界面,有服务评论、发货速度评论、回收价格评论,都是星星评论。

星星界面

不用看大家都知道自定义个cell,就可以了,但是七秒xib自定义哥cell,也自定义了一个星星的xib文件,但是就是在显示的时候出现了错误

说一下自己的解决时候遇到的问题##

  • 开始的时候给cell上面添加了三个空的view,设置view的custom 位星星xib的view,失败告终,不显示(原因不清楚,可能是xib加载xml文件时候的问题吧,当cell的xib没有加载完毕的时候又去加载星星xib文件了吧)
  • 根据上一步自己的才想,七秒就把cell上面空view的custom舍弃掉,在cell文件里面的awakeFromNib(),方面里面直接addview添加总可以吧,终于星星显示出来了,但是空的view的布局错误了,日志打印一个约束错误,设置了一下背景一看,空的view的View确实布局不对,但是自己在xib文件里面的布局明明是对的啊。具体原因七秒真的不知道。有谁明白,可以给七秒说下,七秒感激不尽………………

好了废话多到这里吧!

开始正确的实现方法##

  • 创建了星星的AtarView.xib,并布局完成
StarView.xib
  • 设置view的File's Owner的Custom Class 位我们关联StarView.xib的文件,目的就是让'StarView.xib'与一个类进行关联
Paste_Image.png

注意这一步要设置view和File's Owner的关联,让view有一个关联类,这样就可以在这个类里面脱线了

注意 :这里设置的Custom Class 位File's Owner 的,而不是我们经常设置view的##

  • 就是在关联的类里面加载出来这个Xib
Paste_Image.png
  • 这样我就可以在我自定义的 'cell.xib 里面星星的位置设置下Custom Class位StarView就科技加载出来了
Paste_Image.png 最后的效果图

——————————分割线———————————##

说一说xib加载过程吧,大家都知道加载xib有两种方法:NSBundle和UINib,说一下这两个的区别###

NSBundle##

loadNibNamed 的方法是 '即使加载',就是你什么时候用,我就什么时候去bundle里面给你加载,调用的时候,里面的控件也就初始化完毕。

UINib##

nibName 方法就是:只加载一次,其他的时候,你要使用我就从内存里面加载,官方也是推荐我们使用这样的加载方式。所以一些经常使用的xib,我们还是使用UINib的甲方方式吧!
例如:tableView和collection注册cell,注册的都是UINib,而并非bundle

tableView注册xib.cell.png

相关文章

网友评论

  • 半夏时光丶:全是错别字
  • swagon:之前看过XXNibBridge,博主可以看看实现:smile:
  • xxttw:你这些错别字是真的多
    七秒记忆的鱼儿:@Unc1eWang ,从小养成的习惯,改不了了:stuck_out_tongue_winking_eye:
  • shineDeveloper:你好,我创建了一个自定义xib,上面加了一个手势,不能响应点击时间,不仅仅tap不能响应,凡是点击事件都不响应,不知你有什么建议没有?
    shineDeveloper:我解决了这个问题,是因为我没有加载这个初始化的视图到父容器里,仅仅加载了这个视图里面的控件。
  • 左左4143:你这错别字不少啊
    七秒记忆的鱼儿:只是想解释清楚一些
  • 春泥Fu::joy: 喜欢纯代码,但布局复杂点的视图想死。。。。
    七秒记忆的鱼儿:@春泥Fu 目前开发也是纯码,但是有的技术还是要学点的:smile:
  • LLVKS:还是钟爱纯代码:relieved:
    春暖花已开:界面比较简单,但UI控件很多还是xib开发速度快,不然只写代码就得半天功夫
    七秒记忆的鱼儿:各有千秋吧
  • 布袋的世界:貌似用xib后产生的文件会比春代码建的cell多几十M ,个人,比较喜欢用snapkit布局 ...
    七秒记忆的鱼儿:确实的,一个xib文件就是一个xml文件,布局越多,xml文件就越大

本文标题:自定义XIB View里面添加其他自定义Xib View

本文链接:https://www.haomeiwen.com/subject/cgstnttx.html