user4592495
user4592495

Reputation:

IBInspectable Properties not showing up in Xcode 8.3.3

While attempting to modify the Apple tutorial found here on IBinspectable properties for my own project I have run into a major roadblock.

I defined a simple button subclass:

import UIKit

@IBDesignable public class SocialMediaLoginButton: UIButton {

  private var _loginType: SocialMediaLoginType = .facebook

  @IBInspectable public var loginType: SocialMediaLoginType 
              = SocialMediaLoginType.facebook {

      didSet {
          self._loginType = loginType
      }
  }
}

And then added a UIButton to my storyboard which I then selected the CustomClass as the above type. When I switch over to the Attributes inspector the property is not there for me to adjust. I have no idea what is going on:

Attributes inspector

I have looked up other questions however there are either extremely outdated or have no answers on the app developer forum.

I have tried:

  1. Manually refreshing the views
  2. closing and reopening xcode
  3. removing and re-adding the control
  4. adding different controls like UIView and attempting same thing

None of these have worked. I am at a loss for how to fix this. I am using Xcode 8.3.3

Upvotes: 11

Views: 2553

Answers (2)

Zeev Vax
Zeev Vax

Reputation: 924

To add to Wilson answer, you MUST EXPLICITLY specify the type (Int, String, etc.) for it to show.

Upvotes: 8

Wilson Campusano
Wilson Campusano

Reputation: 616

Interface Builder supports the inspection of basic types (and their corresponding optionals), including: Booleans, numbers, strings, as well as CGRect, CGSize, CGPoint, and UIColor.

I think your type does not work with interface builder.

Upvotes: 9

Related Questions