Swift:以编程方式从xib加载自定义UIView

时间:2015-03-29 03:37:58

标签: ios swift uiview initialization

这在Objective-C中应该相对简单,但是我在尝试在Swift中实现它时遇到了问题。

我有一个xib和两个IBOutlets到自定义UIView。但是当我初始化视图时,我得到一个错误,说我的IBOutlets是零。

这是我的CustomView:

import UIKit

class MessageView: UIView {
    @IBOutlet weak var messageLabel: UILabel!
    @IBOutlet weak var genderImageView: UIImageView!

    override convenience init() {
        self.init(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
    }

    override init(frame: CGRect) {
        super.init(frame: frame)
    }

    convenience init(message: String, gender: Gender) {
        self.init(frame: CGRectMake(0, 0, 320, 40))

        messageLabel.text = message
        genderImageView.image = UIImage(named: "male")
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
}

我正在从我的视图控制器调用便捷初始值设定项,它在messageLabel.text = message行上失败,说messageLabelnil

我以为self.init(frame:)会初始化我的xib?我哪里错了?

0 个答案:

没有答案