以前使用OC创建自定义的view步骤相信都知道怎么弄,最近在写swift遇到一些以为很简单的实际上还是和OC不同的,所以写下来记录(如有错误,欢迎指正)
1.创建一个自定义的view继承自UIView


2.第二步就是创建一个同名的xib文件,并手动关联(如果勾选的是View就可以忽略下一步了)

这里创建的新的xib文件是没有view的,需要拖拽一个view上去


注意:修改的是 MyView.xib 中 File’s Owner 的 Custom Class,不要修改成 MyViewr.xib 里 View 的 Custom Class 了。

添加个lable

3.下面就是代码部分了
import UIKit
class MyView: UIView {
@IBOutlet var contentView: UIView!
override init(frame: CGRect) {
super.init(frame: frame)
// 加载xib
contentView = (Bundle.main.loadNibNamed("MyView", owner: self, options: nil)?.last as! UIView)
// 设置frame
contentView.frame = frame
// 添加上去
addSubview(contentView)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
实现效果:

网友评论