Easiest way to load view classes into another XIB or storyboard.
- Subclass your view from LoadableView
- Create a xib file, set File's Owner class to your class
- Link outlets as usual
- Drop UIView to your XIB or storyboard
- Set it's class to your class name
Your view is automatically loaded to different xib!
IBInspectables automatically render themselves if your view is IBDesignable. Usually Interface Builder is not able to automatically figure out that your view is IBDesignable, so you need to add this attribute to your view subclass:
  @IBDesignable class WTFCatView: LoadableView-  UIView - LoadableView
-  UITableViewCell - LoadableTableViewCell
-  UICollectionViewCell - LoadableCollectionViewCell
-  UICollectionReusableView - LoadableCollectionReusableView
-  UITextField - LoadableTextField
-  NSView - LoadableViewusingAppKit
To use loading from xibs, for example for UICollectionViewCells, drop UIView instead of UICollectionViewCell in InterfaceBuilder, and follow basic setup. Then, on your storyboard, set a class of your cell, and it will be automatically updated.
Change xib name
class CustomView : LoadableView {
  override var nibName : String {
    return "MyCustomXibName"
  }
}Change view container
  class CustomViewWithLoadableContainerView : LoadableView {
    override var nibContainerView : UIView {
      return containerView
    }
  }- Adopt NibLoadableProtocolon your customUIVieworNSViewsubclass.
- Override nibNameandnibContainerViewproperties, if necessary.
- Call setupNibmethod in bothinit(frame:)andinit(coder:)methods.
- IBDesignableattribute is not recognized when it's inside framework due to bundle paths, which is why in current version you need to add- IBDesignableattribute to your views manually.
- UITableViewCelland therefore- LoadableTableViewCellcannot be made- IBDesignable, because InterfaceBuilder uses- initWithFrame(_:)method to render views: radar, stack overflow
- UIScrollViewsubclasses such as- UITextViewdon't behave well with loadable views being inserted, which is why- UITextViewloadable subclass is not included in current release, but may be implemented in the future.
- iOS 8+
- tvOS 9.0+
- macOS 10.12+
- Swift 5 / 4.0 / 3.2
  pod 'LoadableViews'LoadableViews is released under the MIT license. See LICENSE for details.
LoadableViews are maintained by MLSDev, Inc. We specialize in providing all-in-one solution in mobile and web development. Our team follows Lean principles and works according to agile methodologies to deliver the best results reducing the budget for development and its timeline.
Find out more here and don't hesitate to contact us!

