LoadingViews 1.0.1

LoadingViews 1.0.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布日期最后发布日期2016年3月
SPM支持 SPM

Denys Telezhkin 维护。




构建状态   codecov.io

LoadableViews

将视图类加载到其他 XIB 或 storyboard 的最简单方法。

WTFCat

基本设置

  • LoadableView 类派生您的视图
  • 创建一个 xib 文件,将文件所有者类设置为您的类
  • 如常连接出口

用法

  • 将 UIView 拖放到您的 XIB 或 storyboard 中
  • 将其类设置为您的类名

您的视图将自动加载到不同的 xib 中!

IBInspectable && IBDesignable

如果您的视图是 IBDesignable,则 IBInspectables 会自动渲染。通常 Interface Builder 无法自动识别您的视图是 IBDesignable,因此您需要将此属性添加到您的视图子类

  @IBDesignable class WTFCatView: LoadableView

支持的 UI 类

  • [x] UIView - LoadableView
  • [x] UITableViewCell - LoadableTableViewCell
  • [x] UICollectionViewCell - LoadableCollectionViewCell
  • [x] UICollectionReusableView - LoadableCollectionReusableView
  • [x] UITextField - 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
  • 如有必要,重写 nibNamenibContainerView 属性。
  • init(frame:)init(coder:) 方法中调用 setupNib 方法。

已知问题

  • 由于包路径,当 IBDesignable 属性位于框架中时,它不被识别,因此在当前版本中,您需要手动将 IBDesignable 属性添加到您的视图。
  • UITableViewCell 以及因此 LoadableTableViewCell 不能被设置为 IBDesignable,因为 InterfaceBuilder 使用 initWithFrame(_:) 方法来渲染视图:radarstack overflow
  • 例如 UITextView 这样的 UIScrollView 子类与插入的可加载视图表现不佳,这就是为什么 UITextView 可加载子类不包括在当前版本中,但可能在将来实现。

要求

  • iOS 8+
  • tvOS 9.0+
  • Swift 2.1+

安装

许可

LoadableViews 根据 MIT 许可发布。有关详细信息,请参阅 LICENSE。

关于 MLSDev

MLSDev.com

LoadableViews 由 MLSDev,Inc 维护。我们专注于提供移动和 Web 开发的全套解决方案。我们的团队遵循精益原则,并按照敏捷方法论工作,以提供最佳结果,减少开发和其时间表的成本。

更多信息请访问 这里,并且不要犹豫联系我们 这里