Accessing properties via interface builder is quite easy and more developer friendly.
Here I’m guiding you how to to add new/custom properties to interface builder.
 
1- Subclass any UIObject, we are considering here UIButton for now, as shown below:
 
class YourCustomButton: UIButton {
}
2- Add properties that you want to be visible in interface builder attribute inspector for the object.
class YourCustomButton: UIButton {
    
   	@IBInspectable var buttonCornerRadius:CGFloat{
        
      	set{
		    self.layer.cornerRadius = newValue // Setting corner radius of button; newValue is changed value.
        }
        get{
            return self.layer.cornerRadius		// returning corner radius of button
        }
    } 
}
We have added buttonCornerRadius as a new property having getter and setter. Using this property we are setting corner radius of Button
 
3- Now in interface Builder change the class of UIButton to TDCustomButton.
4- Once you are done with changing the button class, “buttonCornerRadius” property will start appearing on the attribute inspector.
5- Now you can change the corner radius directly from interface builder attribute inspector.
 
If you want to get result at build time then use “@IBDesignable” before “class” as below:
@IBDesignable class YourCustomButton: UIButton {
    
}
using @IBDesignable will show the changes immediately while changing values in interface builder.
                       
                    
0 Comment(s)