Ios XCODE:UIView背景不会出现在屏幕上,即使我在情节提要中设置了颜色并以编程方式进行了设置

Ios XCODE:UIView背景不会出现在屏幕上,即使我在情节提要中设置了颜色并以编程方式进行了设置,ios,swift,xcode,uiview,background-color,Ios,Swift,Xcode,Uiview,Background Color,我有一个UIView,我把它放在我的viewController中,只是为了组织一下,我正在尝试将背景颜色设置为我拥有的自定义蓝色。我已在identity inspector中设置背景色,并以编程方式: searchRadiusView.backgroundColor = #colorLiteral(red: 0.00859087177, green: 0.09247856156, blue: 1, alpha: 1) 我在我的视图中设置了它。下面是故事板的图片,它以正确的颜色显示UIView

我有一个UIView,我把它放在我的viewController中,只是为了组织一下,我正在尝试将背景颜色设置为我拥有的自定义蓝色。我已在identity inspector中设置背景色,并以编程方式:

searchRadiusView.backgroundColor = #colorLiteral(red: 0.00859087177, green: 0.09247856156, blue: 1, alpha: 1)
我在我的视图中设置了它。下面是故事板的图片,它以正确的颜色显示UIView背景:

以下是我的模拟器中的视图:


只是澄清一下,“搜索半径(mi.)标签后面的蓝色只是标签的背景色。你知道为什么视图没有显示颜色以及如何修复它吗?感谢

我不知道为什么这个UIView给了我这么多约束错误(我对UIView是新手,所以这可能是典型的),但我决定只给视图中的每个元素一个恒定的宽度和高度,并用它们所在的距离固定四条边中的每一条。然后我设置了我想要的实际UIView的约束,所有的错误都消失了,我的颜色也出现了。出于某种原因,我不得不保持一切不变,这将阻止视图的大小因手机类型的不同而变化。这可能是好事,也可能是坏事,这取决于你如何看待它。

我打算通过一条评论来表达这一点(如果投票被否决,我会很乐意删除这个答案,只是想帮你一下忙)

对于新手来说,自动布局约束可能是一条陡峭的学习曲线。您可以在故事板中设置它们(或者对于那些在Xcode中工作足够长时间的人,IB)。此外,您还可以通过直接的代码来完成

有两件事需要记住

  • 所有视图都需要两件事-大小和位置
位置可以是相对于屏幕或其他视图的,通常用“X和Y”术语来描述。但它们可以是从顶部、底部、前导、尾随、中心X和中心Y的所有内容。只要您为视图定义了一个唯一的X/Y点(强调唯一),布局引擎就会知道将其放置在何处

  • 某些视图具有固有大小
大小(显然)是宽度和高度。让我们看三种类型的视图。文本字段、标签和滑块。文本字段需要明确定义的宽度和高度。滑块需要宽度,但您确实不能给它指定高度。这两种视图很容易看到

当你刚刚学习自动布局时,标签(有时还有按钮)可能更难掌握。它们有所谓的内在尺寸

假设您有一个文本设置为“Hello world!“。假设字体是设置为12点的系统字体。该标签需要布局位置,但不需要大小。系统将决定它-并根据用户设置动态更改

作为一名开发人员,您可以做几件事。显然,您可以指定字体大小,这将(a)防止操作系统或DynamicType更改内容-但这不会更改固有大小。这是您可以做的另一件事-通过约束设置高度和宽度

如果这是您唯一要做的事情-设置大小而不是字体-那么如果用户在操作系统中选择的字体太大,标签将截断内容


但最后,您需要设置两个具有约束的唯一的项-大小和位置。

看起来约束中存在问题。如果红色表示存在问题?是否有方法确定问题?我认为需要centerX和centerY约束。我在哪里设置这些约束?