Elegant way of enabling IBDesignable on your nib-based views
Clone or download
mbogh Merge pull request #50 from sstadelman/master
Add screenshots to README to detail the correct configuration of File's Owner
Latest commit 8415f70 Dec 3, 2016

README.md

Build Status Carthage compatible Pod version GitHub license

Nib Designable

Installation

CocoaPods

Add pod 'NibDesignable' to your Podfile

Carthage

Add github "mbogh/NibDesignable" to your Cartfile.

Manual

Simply drop NibDesignable.swift into your project and it is ready to use.

Usage

  1. Create a new class that subclass' NibDesignable like
class CustomView: NibDesignable {

}
  1. Create a nib, place a UIView and change the File's Owner to CustomView

    Correct:

    File's Owner is set to your custom class

    Incorrect:

    View class is set to your custom class

  2. Design your view and add @IBInspectable properties.

  3. Sometimes Xcode/Interface Builder does not recognize NibDesignable as @IBDesignable. Workaround Declare your custom class as @IBDesignable like:

@IBDesignable
class CustomView: NibDesignable {

}

Thanks

Contact

Follow me on Twitter (@mbogh) and/or visit my blog Just a Beech

License

Nib Designable is released under an MIT license. See LICENSE for more information.

Release Notes

Version 3.0.0

  • Swift 3.0 support, thanks to @sstadelman and @esetnik

Version 2.3.0

  • UICollectionReusableView support added by @ikesyo

Version 2.2.0

  • UICollectionViewCell support added by @pyankoff

Version 2.1.0

  • UIControl support added by @illaz

Version 2.0.0

  • Swift 2.0 for everyone, thanks to @bjarkehs

Version 1.1.1

  • Fixed minor issue with UITableViewCell

Version 1.1.0

  • Added support for UITableViewCells, thanks to @duemunk

Version 1.0.4

  • Swift 1.2 support, thanks to @ikesyo

Version 1.0.3

  • Switched to Auto Layout in setupNib(). This fixes issues when views have size of {0,0} initially.

Version 1.0.2

  • CocoaPods support

Version 1.0.1

  • proxyView is passe.
  • nibName() returns class name per default.

Version 1.0.0

  • Initial release