@IBInspectable not updating Story Board
Asked Answered
D

1

2

My custom button below works fine on the iOS Simulator - when I set a rotation in Interface Builder it rotates the button when I run the app.

However, I can't see the rotation in the Story Board - it just shows the button without applying the transformation.

It doesn't matter if I do the transformation inside the drawRect method - same result.

import Foundation
import UIKit


@IBDesignable class CustomButton: UIButton {

    @IBInspectable var rotation: CGFloat = 0.0 {
        didSet {
            self.transform = CGAffineTransformMakeRotation(CGFloat(rotation))
        }
    }

    override func drawRect(rect: CGRect) {
        // ...
    }
}
Depolarize answered 5/11, 2015 at 13:10 Comment(2)
Check this: #26674611Faircloth
@Faircloth I saw this before posting my question, but my Xcode was already auto updating.Depolarize
R
3

I think it is safe to say "It is @IBDesignable Bug in Xcode 7.1.1"

Because:

  1. Running project does show the CGAffineTransform with the given rotation.
  2. If borderWidth, borderColor etc. are changed in this didSet block, it shows in the Storyboard correctly.
  3. I could not find anything in the apple developer site that says transformation will not work for @IBDesignable
Rooke answered 8/12, 2015 at 16:20 Comment(1)
I think I must agree with you. I have filed a bug report with Apple, so maybe they will fix it.Depolarize

© 2022 - 2024 — McMap. All rights reserved.