ios – 如何在Xcode playground中使用自动布局约束显示视图?

ios – 如何在Xcode playground中使用自动布局约束显示视图?,第1张

概述我试图在XCode playground中显示配置了autolayout约束视图,但它似乎不起作用.这就像游乐场完全忽略了约束,我无法在任何地方找到有关此问题的信息. 这是我试过的代码: let view = UIView()view.frame = CGRectMake(0, 0, 400, 200)view.backgroundColor = UIColor.lightGrayColor 我试图在XCode playground中显示配置了autolayout约束的视图,但它似乎不起作用.这就像游乐场完全忽略了约束,我无法在任何地方找到有关此问题的信息.

这是我试过的代码:

let vIEw = UIVIEw()vIEw.frame = CGRectMake(0,400,200)vIEw.backgroundcolor = UIcolor.lightGraycolor()let label = UILabel() // I can only see the label if I set a frame         // UILabel(frame: CGRectMake(0,200,50))label.backgroundcolor = UIcolor.greencolor()label.text = "I am a label"label.setTranslatesautoresizingMaskIntoConstraints(false)vIEw.addSubvIEw(label)let vIEws = ["label":label]let options = NSLayoutFormatoptions(0)let cs1 = NSLayoutConstraint.constraintsWithVisualFormat(    "H:|-[label]-|",options: options,metrics: nil,vIEws:vIEws )let cs2 = NSLayoutConstraint.constraintsWithVisualFormat(    "V:|-[label]-|",vIEws:vIEws )vIEw.addConstraints(cs1)vIEw.addConstraints(cs2)

提前致谢

解决方法 话虽如此,您可以使用PlaygroundPage的liveVIEw属性来预览您的UI.

import PlaygroundSupportPlaygroundPage.current.needsIndefiniteExecution = truePlaygroundPage.current.liveVIEw = myliveVIEw

这是一个link,进一步扩展了这一点.

如果它不起作用,你可能需要触发layoutIfNeeded,但这不应该真正解决自Swift 4以来的问题

此外,在视图中包含translatesautoresizingMaskIntoConstraints = false.喜欢:

import PlaygroundSupportmyliveVIEw.translatesautoresizingMaskIntoConstraints = falsePlaygroundPage.current.needsIndefiniteExecution = truePlaygroundPage.current.liveVIEw = myliveVIEw
总结

以上是内存溢出为你收集整理的ios – 如何在Xcode playground中使用自动布局约束显示视图?全部内容,希望文章能够帮你解决ios – 如何在Xcode playground中使用自动布局约束显示视图?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1068098.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存