When I write my own UIButton
-extended class and make it @IBDesignable
, I receive two errors in Interface Builder, namely:
Here is my code:
import UIKit
@IBDesignable
class RandjeUIButton: UIButton {
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.backgroundColor = UIColor.blackColor()
}
}
I am working in Xcode 7 beta 2 on OS X 10.11 beta 2. (Running in VM)
Xcode's Interface Builder requires that you implement both or neither initializers for @IBDesignable
classes to render properly in IB.
If you implement required init(coder aDecoder: NSCoder)
you'll need to override init(frame: CGRect)
as well, otherwise "the agent will crash" as seen in the errors thrown by Xcode.
To do so add the following code to your class:
override init(frame: CGRect) {
super.init(frame: frame)
}
I've met the same problem and solved it this way:
error: IB Designables: Failed to update auto layout status: The agent crashed
Then the Xcode will tell you where the prolem is.
In my case I drop the IBDesignable
before the class.
Then I clean and rebuild it, the error disappeared
There are a myriad of problems that can cause this. Fire up Console, and look for the crash report IBDesignablesCocoaTouch...
I just sorted out a problem with a 3rd party designable which had issues with the valueForKey
semantics.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With