我可以使用 UIView(.xib 和 class)作为多个视图的视图基础示例吗?

Can I use UIView (.xib and class) as view base example for many view?

我用 class 将 UIView 设计为 XIB。 我可以将这个 xib 用作其他 UIView 的现有示例吗? 所以,我想创建这个 UIView 一次,然后在应用程序的不同部分使用它。

是的,您可以随心所欲地实例化它:

显示如何实例化为视图的答案:How to initialize/instantiate a custom UIView class with a XIB file in Swift

显示如何实例化为 UITableView 或 UICollectionView 的可重用单元格的答案:Custom UITableViewCell from nib in Swift

是的,你可以。

创建 XIB 后,创建一个 UIView class,将 class 分配给 XIB 的文件所有者。创建整个 XIB 容器视图的 IBOutlet 将其附加到 UIView class,将其命名为 containerView

在您的 XIB 的自定义 class 上添加以下内容:

override init(frame: CGRect) {
super.init(frame: frame)

customInit()

}

func customInit() {

Bundle.main.loadNibNamed("YourNIBName", owner: self, options: nil)
addSubview(containerView)
containerView.autoresizingMask = [.flexibleHeigh, .flexibleWidth]


}

现在在您的任何 ViewController 上:

let view = CustomNib(frame: CGRect(x: 0, y:0, width: 150, height: 150)

self.view.addSubview(view)

您也可以通过故事板创建它,只需将自定义 xib class 分配给任何 UIView。

这里有一个很好的资源也可以提供帮助:Swift 3 — Creating a custom view from a xib