背景
原来一直使用的是Storyboard自定义UITableViewCell
的,暑期来公司实习,发现公司用的是Xib自定义View,学长说人多用SB不好协同工作。除了这个原因,我之前还发现Storyboard的复用性不好,自定义的Cell不能在多个Storyboard文件中复用😂。
下面介绍利用Xib自定义View和Cell。
自定义Cell
新建Cell文件时,勾选生成Xib文件。然后在Xib上使用控件和约束,和Storyboard一样。
在使用自定义的Cell时,要记得注册可复用的Cell。例如:collectionView.registerReusableCell(FMPersonHelpReportVCCollectionViewCell)
剩下的使用过程和用Storyboard自定义的Prototype Cell是一致的。
自定义View
新建View的时候,是无法勾选生成Xib文件的,所以需要我们自己创建同名的UIView和Xib文件。并且将 Xib文件的 File’s Owner -> Custom Class -> Class 属性设为刚才新建的类。
由于自定义View不能直接从View初始化,所以写了一个基类。
1 | class BaseXibView: UIView { |
这是我写的一个自定义View,主要用来进行新手引导的,覆盖在原视图上,点击view,慢慢改变透明度。
1 | class FMHomeNewUserGuideView: BaseXibView { |
用法:
1 | let homeNewUserGuideView = FMHomeNewUserGuideView() |