我第一次使用nib文件。我的意思是xib和相應的swift類。Xcode - IBOutlets和Nib文件如何工作?
這裏是我的SWIFT類:
import UIKit
@IBDesignable class LittleVideoView: UIView {
var view: UIView!
var nibName: String = "LittleVideoView"
// MARK: Views
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var clicksLabel: UILabel!
@IBOutlet weak var channelNameLabel: UILabel!
@IBOutlet weak var thumbnailImageView: UIImageView!
override init(frame: CGRect) {
super.init(frame: frame)
setup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}
func setup() {
view = loadViewFromNib()
view.frame = bounds
view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
addSubview(view)
}
func loadViewFromNib() -> UIView {
let bundle = NSBundle(forClass: self.dynamicType)
let nib = UINib(nibName: nibName, bundle: bundle)
let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView
return view
}
}
從我創造了一些IBOutlets正如你所看到的編輯器視圖。一切正常。
有一些我不明白。我正在以編程方式在此類中加載筆尖,所以爲什麼我可以創建IBOutlets,而Xcode並不真正知道我會真正加載正確的筆尖文件?不久,我不明白IBOutlets如何在這種情況下工作。那麼,Xcode correclty如何將setup()方法中加載的UIView與IBOutlets鏈接起來呢?
這不是想知道不合理的事情,但沒有必要要求它_again_;這裏已經解釋了很多次。 – matt