0

这是我的代码

@IBDesignable class BarPopView: UIView {

    @IBInspectable var ft: NSString = "1"
    @IBInspectable var ffPrompt: NSString = "Area"

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

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

    func setupView() {
        print("text: \(ft), prompt: \(ffPrompt)")
    }

}

我在界面生成器中设置了这些值
ft: 50 ffPrompt: "Change"

但结果是打印
“文本:1,提示:区域”

4

2 回答 2

3

这是因为setupView在初始化期间调用了该方法,并且在此期间属性具有初始值。如果您想相应地调整它们,请使用属性观察器:

@IBInspectable var ft: String = ""{
        didSet {
            setupView()
        }
    } 
于 2017-06-12T05:20:51.667 回答
2

如果你想要

函数设置视图()

在所有 var 设置完成后执行,然后调用 ViewController 类的 viewDidLoad() 中的方法,您将在其中使用自定义视图

酒吧弹出视图

于 2017-06-12T05:43:19.793 回答