Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS-无法获取@IBDesignable.xib文件以显示在情节提要或模拟器上_Ios_Swift_Swift3_Xcode8_Xib - Fatal编程技术网

iOS-无法获取@IBDesignable.xib文件以显示在情节提要或模拟器上

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

我已将文件所有者设置为UserBannerView。 故事板中使用此.xib文件的UIView也设置为UserBannerView。 我没有得到任何错误,但它不会出现在模拟器或故事板

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那个链接对我有用。谢谢你的发帖。