我已经定义了两种不同的观点,如 – 第一种方法: let containerView = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 375.0, height: 667.0))containerView.backgroundColor = UIColor.redColor() 我可以看到矩形. 第二种方法
第一种方法:
let containerView = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 375.0, height: 667.0)) containerView.backgroundColor = UIColor.redColor()
我可以看到矩形.
第二种方法:
let view = UIView() view.frame = CGRect(x: 0, y: 0, width: 200, height: 200) view.backgroundColor = UIColor.blueColor()
我看到一些像输出这样的日志消息.
为什么两者都提供不同的产出?
Web中的一些教程使用第一种方法,第二种方法使用第二种方法.
这是图片.
有时,游乐场不能按预期工作.可能是因为两个视图都没有定义超级视图.在真正的应用程序中它工作正常
override func viewDidLoad() { super.viewDidLoad() let containerView = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 37.5, height: 66.7)) containerView.backgroundColor = UIColor.redColor() view.addSubview(containerView) let myView = UIView() myView.frame = CGRect(x: 0, y: 290, width: 200, height: 200) myView.backgroundColor = UIColor.blueColor() view.addSubview(myView) }
我在playgorund中尝试了这段代码:
let cv = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 375.0, height: 667.0)) cv.backgroundColor = UIColor.redColor() let v1 = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 30.0, height: 60.0)) v1.backgroundColor = UIColor.yellowColor() cv.addSubview(v1) let v2 = UIView() v2.frame = CGRect(x: 0, y: 200, width: 30.0, height: 60.0) v2.backgroundColor = UIColor.blueColor() cv.addSubview(v2)
它适用于两个初始化程序.