iOS-无法获取@IBDesignable.xib文件以显示在情节提要或模拟器上
我已将文件所有者设置为UserBannerView。 故事板中使用此.xib文件的UIView也设置为UserBannerView。 我没有得到任何错误,但它不会出现在模拟器或故事板iOS-无法获取@IBDesignable.xib文件以显示在情节提要或模拟器上,ios,swift,swift3,xcode8,xib,Ios,Swift,Swift3,Xcode8,Xib,我已将文件所有者设置为UserBannerView。 故事板中使用此.xib文件的UIView也设置为UserBannerView。 我没有得到任何错误,但它不会出现在模拟器或故事板 import UIKit @IBDesignable class UserBannerView: UIView { var view: UIView! @IBOutlet weak var userCreditsLabel: UILabel! @IBOutlet weak var userRenewDate
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)
}
}
尝试实现您的
awakeFromNib
方法,并添加prepareforPrinterFaceBuilder
方法
override func awakeFromNib() {
super.awakeFromNib()
self.setup()
}
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
setup()
}
还要确保在xib文件中将类设置为fileOwner
希望这能有所帮助我的故事板中有一个类为UserBannerView的视图,它调用init?(coder aDecoder:NScoder)。然后我有一个UserBannerView.xib文件,在.xib文件中为您的
UserBannerView
设置了什么类?请尝试遵循本指南。我已经这样做了好几次,试着检查你的代码,但没有发现任何错误。因此,可能界面生成器中的某些指定设置不正确。以防万一,请一步一步地试试这个:@Pochi那个链接对我有用。谢谢你的发帖。