如何在 Xcode 游乐场中使用自动布局约束显示视图?

How can I display views using autolayout constraints in Xcode playground?(如何在 Xcode 游乐场中使用自动布局约束显示视图?)
本文介绍了如何在 Xcode 游乐场中使用自动布局约束显示视图?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在 XCode playground 中显示配置有 autolayout 约束的视图,但它似乎不起作用.就像游乐场完全忽略了约束,我在任何地方都找不到有关此问题的信息.

I am trying to display views configured with autolayout constraints in XCode playground, but it doesn't seem to work. It's like playground ignores the constraints completely, and I can't find information about this issue anywhere.

这是我尝试过的代码:

let view = UIView()
view.frame = CGRectMake(0, 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, 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]-|", options: options, metrics: nil, views:views )

view.addConstraints(cs1)
view.addConstraints(cs2)

提前致谢

推荐答案

也就是说你可以使用 PlaygroundPageliveView 属性来预览你的 UI.

That being said you can use the liveView property of PlaygroundPage to preview your UI.

import PlaygroundSupport

PlaygroundPage.current.needsIndefiniteExecution = true
PlaygroundPage.current.liveView = myLiveView

这是一个进一步扩展的 链接.

Here's a link that expands on this further.

如果它不起作用,您可能需要触发 layoutIfNeeded 但这不应该真正解决问题,因为 Swift 4

If its not working you may need to trigger a layoutIfNeeded but that shouldn't really solve the issue since Swift 4

另外,在您的视图中包含 translatesAutoresizingMaskIntoConstraints = false.喜欢:

Also, include translatesAutoresizingMaskIntoConstraints = false on your view. Like:

import PlaygroundSupport

myLiveView.translatesAutoresizingMaskIntoConstraints = false
PlaygroundPage.current.needsIndefiniteExecution = true
PlaygroundPage.current.liveView = myLiveView

这篇关于如何在 Xcode 游乐场中使用自动布局约束显示视图?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Why local notification is not firing for UNCalendarNotificationTrigger(为什么没有为UNCalendarNotificationTrigger触发本地通知)
iOS VoiceOver functionality changes with Bundle Identifier(IOS画外音功能随捆绑包标识符而变化)
tabbar middle tab out of tabbar corner(选项卡栏中间的选项卡角外)
Pushing UIViewController above UITabBar(将UIView控制器推送到UITabBar上方)
Dropbox Files.download does not start when number of files in folder is gt; 1000(当文件夹中的文件数为1000时,Dropbox Files.Download不会启动)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)