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


Build Status Carthage compatible Pod version GitHub license

Nib Designable



Add pod 'NibDesignable' to your Podfile


Add github "mbogh/NibDesignable" to your Cartfile.


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


  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


    File's Owner is set to your custom class


    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:

class CustomView: NibDesignable {




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


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