2016-02-02 42 views
0

我遇到问题,试图将我的.xib加载到UIView中。我创建了一个xib文件和子类UIView作为相同的名称。我已将xib文件的类更改为ProfileBarView类。在我UIView的代码,我有:将.xib加载到UIView时出错

import UIKit 
import EDStarRating 

class ProfileBarView: UIView { 

    @IBOutlet weak var profileImageView: UIImageView! 
    @IBOutlet weak var studentNameLabel: UILabel! 
    @IBOutlet weak var universityNameLabel: UILabel! 
    @IBOutlet weak var starRatingView: EDStarRating! 

    override init(frame: CGRect) { 

     super.init(frame: frame) 
     NSBundle.mainBundle().loadNibNamed("ProfileBarView", owner: self, options: nil) 
     addSubview(self.view) 

    } 

    required init?(coder aDecoder: NSCoder) { 

     super.init(coder: aDecoder) 
     NSBundle.mainBundle().loadNibNamed("ProfileBarView", owner: self, options: nil) 
     addSubview(self.view) 

    } 


} 

但是我得到的错误:Value of type ProfileBarView has no member 'view.我应该怎么做是错在这里干什么?

+1

'UIView'对象没有属性'view'。那么你怎么能'self.view'呢? 'self.addSubiew(NSBundle.mainBundle()。loadNibNamed(“ProfileBarView”,owner:self,options:nil)[0])? – Larme

回答

0

这将完成这项工作。

override init(frame: CGRect) { 


     super.init(frame: frame) 
     let view = NSBundle.mainBundle().loadNibNamed("ProfileBarView", owner: self, options: nil)[0] 
     addSubview(view as! UIView) 
    } 

    required init?(coder aDecoder: NSCoder) { 

     super.init(coder: aDecoder) 
     let view = NSBundle.mainBundle().loadNibNamed("ProfileBarView", owner: self, options: nil)[0] 
     addSubview(view as! UIView) 
    }