我在下面创建了一个UIView子类:
import UIKit
class MenuBar : UIView {
override init(frame : CGRect ){
super.init(frame: frame)
setupViews()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setupViews(){
}
}然后,我想将它添加到我的ViewController中:
let menuBarView : MenuBar = {
let mbv = MenuBar(
mbv.translatesAutoresizingMaskIntoConstraints = false
mbv.backgroundColor = UIColor.green
return mbv
}()但是它返回一个错误:实例成员'MenuBar‘不能在'ViewController’类型上使用
发布于 2016-12-16 09:13:11
不太确定,但是您的代码甚至不应该编译,就像menubar的惰性变量实例化所说的那样。
let mbv = MenuBar(它应该是
let mbv = MenuBar()最后的工作代码是
let menuBarView : MenuBar = {
let mbv = MenuBar()
mbv.translatesAutoresizingMaskIntoConstraints = false
mbv.backgroundColor = UIColor.green
return mbv
}()测试过了,它运行得非常好。
编辑:
这是我如何使用它,它是运行良好的!
//other variable declaration
let menuBarView : MenuBar = {
let mbv = MenuBar()
mbv.translatesAutoresizingMaskIntoConstraints = false
mbv.backgroundColor = UIColor.green
return mbv
}()
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(menuBarView)
// Do any additional setup after loading the view, typically from a nib.
}https://stackoverflow.com/questions/41180558
复制相似问题