将视图类加载到其他 XIB 或 storyboard 的最简单方法。
LoadableView
类派生您的视图您的视图将自动加载到不同的 xib 中!
如果您的视图是 IBDesignable,则 IBInspectables 会自动渲染。通常 Interface Builder 无法自动识别您的视图是 IBDesignable,因此您需要将此属性添加到您的视图子类
@IBDesignable class WTFCatView: LoadableView
LoadableView
LoadableTableViewCell
LoadableCollectionViewCell
LoadableCollectionReusableView
LoadableTextField
要从 xib 加载,例如对 UICollectionViewCells,请在 Interface Builder 中将 UIView 放在 UICollectionViewCell 的位置,然后遵循基本设置。然后在您的 storyboard 中设置单元格的类,它将自动更新。
更改 xib 名称
class CustomView : LoadableView {
override var nibName : String {
return "MyCustomXibName"
}
}
更改视图容器
class CustomViewWithLoadableContainerView : LoadableView {
override var nibContainerView : UIView {
return containerView
}
}
UIView
子类上采用 NibLoadableProtocol
。nibName
和 nibContainerView
属性。init(frame:)
和 init(coder:)
方法中调用 setupNib
方法。IBDesignable
属性位于框架中时,它不被识别,因此在当前版本中,您需要手动将 IBDesignable
属性添加到您的视图。UITableViewCell
以及因此 LoadableTableViewCell
不能被设置为 IBDesignable
,因为 InterfaceBuilder 使用 initWithFrame(_:)
方法来渲染视图:radar,stack overflowUITextView
这样的 UIScrollView
子类与插入的可加载视图表现不佳,这就是为什么 UITextView
可加载子类不包括在当前版本中,但可能在将来实现。LoadableViews
根据 MIT 许可发布。有关详细信息,请参阅 LICENSE。
LoadableViews
由 MLSDev,Inc 维护。我们专注于提供移动和 Web 开发的全套解决方案。我们的团队遵循精益原则,并按照敏捷方法论工作,以提供最佳结果,减少开发和其时间表的成本。