在Swift中向前和向后发送标签......我必须这样做吗?

时间:2017-09-13 19:05:46

标签: swift uilabel interface-builder

我希望UILabel能够在同一屏幕上不断更新界面元素。通过使用Swift的Xcode工具中的Debug View Hierarchy工具,我可以看到我的标签从其他元素下面开始。只要我更新标签中的文本,它就会跳到顶部并写入我的其他标签和界面元素。

First Image 3D Debugger Image

第一个问题......我找不到在Interface Builder中设置前后层的工具......如果有人可以向我指出那个很棒,Google就不是我的朋友。

因为当我更新标签时它会最终排在最前面,我想每当我刷新它时我都可以将标签发送到后面...在我的ViewController.swift文件中,在我更新标签文本的函数中,我试过了:(我的标签出口挂钩称为“consoleMe”

super.sendSubview(toBack:consoleMe)
不,那可能倒退了吗?所以我试过了:

consoleMe.sendSubview(toBack: super)

...以及“自我”而不是超级。它根本不喜欢超级。它抱怨self是ViewController而不是UIView。

最后,我想知道我是否必须这样做 - 当然有一种方法可以指明UILabel应该保持在其他东西之下吗?

我是否更正UICabel更新自动将其带到前面(或其他东西正在进行?)我试图让其他标签和项目“不透明”但当然这没有效果,因为它们最终落在我的下方控制台标签。

谢谢! -D

1 个答案:

答案 0 :(得分:0)

sendSubview(toBack:)UIView的一种方法,所有UIViewController个对象都包含内置的view

来自UIViewController文档:

  

查看管理

     

每个视图控制器管理一个视图层次结构,其根视图存储在此类的view属性中。

因此,请在sendSubview(toBack:)媒体资源上调用view

view.sendSubview(toBack: consoleMe)