class VIEwController: UIVIEwController { @IBOutlet weak var somebutton: UIbutton! func vIEwDIDLoad() { super.vIEwDIDLoad() let someVIEw = UIVIEw() someVIEw.backgroundcolor = UIcolor.greencolor() someVIEw.frame = somebutton.bounds someVIEw.frame.origin = somebutton.frame.origin someVIEw.autoresizingMask = somebutton.autoresizingMask someVIEw.autoresizesSubvIEws = true someVIEw.layer.cornerRadius = somebutton.layer.cornerRadius someVIEw.clipsToBounds = true someVIEw.userInteractionEnabled = false vIEw.insertSubvIEw(someVIEw,belowSubvIEw: somebutton) }}
我想我错过了someVIEw.auto布局约束?
编辑:我认为访问UIbutton的约束会起作用,但它们似乎是一个空数组.故事板的约束是隐藏的吗?
someVIEw.addConstraints(somebutton.constraints)
谢谢.
解决方法 复制那种方式的约束失败,因为:>故事板中的约束被添加到supervIEw而不是按钮本身
>您尝试复制的约束是引用按钮而不是新视图
而不是复制约束,保持简单并创建新的约束并引用按钮:
let someVIEw = UIVIEw() someVIEw.translatesautoresizingMaskIntoConstraints = false vIEw.addSubvIEw(someVIEw) vIEw.addConstraints([ NSLayoutConstraint(item: someVIEw,attribute: .Leading,relatedBy: .Equal,toItem: somebutton,multiplIEr: 1,constant: 0),NSLayoutConstraint(item: someVIEw,attribute: .Trailing,attribute: .top,attribute: .Bottom,constant: 0) ])总结
以上是内存溢出为你收集整理的Swift:以编程方式将自动布局约束从一个视图复制到另一个视图全部内容,希望文章能够帮你解决Swift:以编程方式将自动布局约束从一个视图复制到另一个视图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)