I have set the file owner to be UserBannerView. The UIView in the storyboard that uses this .xib file is also set to be UserBannerView. I am not getting any errors, yet it won't show up in either the simulator or the storyboard.
import UIKit
@IBDesignable class UserBannerView: UIView {
var view: UIView!
@IBOutlet weak var userCreditsLabel: UILabel!
@IBOutlet weak var userRenewDateLabel: UILabel!
@IBOutlet weak var userImage: circlePP!
@IBOutlet weak var userMembershipBtn: UIButton!
@IBOutlet weak var userNameLabel: UILabel!
var nibName:String = "UserBannerView"
public override init(frame:CGRect){
super.init(frame: frame)
print("UserBannerView init from frame")
setup()
}
public required init?(coder aDecoder:NSCoder){
super.init(coder: aDecoder)
print("UserBannerView init from decode")
setup()
}
override func awakeFromNib() {
print("UserBannerView awakeFromNib")
// setup()
}
func setup() {
print("UserBannerView:setup")
let bundle = Bundle(for: type(of: self))
let nib = UINib(nibName: "UserBannerView", bundle: bundle)
self.view = nib.instantiate(withOwner: self, options: nil).first as! UIView
self.view.frame = bounds
self.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.addSubview(self.view)
}
}
Try implementing your
awakeFromNib
method and addprepareForInterfaceBuilder
methodAlso make sure that your class is setted as fileOwner in your xib file
Hope this helps