我纯粹代码创建一个控制器上的UIView(我不是在所有用故事板创建斯威夫特
这里为简单的视图代码:
let greenView: UIView = {
let v = UIView(frame: CGRect.zero)
v.translatesAutoresizingMaskIntoConstraints = false
v.backgroundColor = UIColor.rgb(red: 183, green: 202, blue: 45)
v.layer.borderWidth = 1
return v
}()
当我设置在屏幕的观点,我有:
view.addSubview(greenView)
greenView.anchor(top: joined.bottomAnchor, left: view.leftAnchor, bottom: nil, right: view.rightAnchor, paddingTop: 20, paddingLeft: 0, paddingBottom: 0, paddingRight: 0, width: view.frame.width - 20, height: 200)
这个“锚”的功能仅仅是一个扩展,以帮助建立汽车布局约束和它运作良好,包括像所有其他组件实际上从UIView继承的UIButton。
问题:视图不显示在屏幕上的任何位置......我错过了什么吗?我正在使用LBTAComponents。
更具体地说this class 到目前为止工作良好与所有其他方法。
该行为表明约束不起作用。为什么不显示你正在使用的扩展名?更好的是,不要使用扩展名 - 只需将“long”代码添加到此视图中,并查看它是否有效。如果是这样,那么就“向后”工作到扩展。 – dfd
您是否在[查看调试器]中查找了视图(https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/debugging_with_xcode/chapters/special_debugging_workflows.html#//apple_ref/doc/uid/ TP40015022-CH9-SW2)?确保在调试器中关闭剪辑,以便即使裁剪也可以看到该视图。 –
@robmayoff它显示在堆栈上,但它表示高度不明确。 –