我希望UILabel能够在同一屏幕上不断更新界面元素。通过使用Swift的Xcode工具中的Debug View Hierarchy工具,我可以看到我的标签从其他元素下面开始。只要我更新标签中的文本,它就会跳到顶部并写入我的其他标签和界面元素。
第一个问题......我找不到在Interface Builder中设置前后层的工具......如果有人可以向我指出那个很棒,Google就不是我的朋友。
因为当我更新标签时它会最终排在最前面,我想每当我刷新它时我都可以将标签发送到后面...在我的ViewController.swift文件中,在我更新标签文本的函数中,我试过了:(我的标签出口挂钩称为“consoleMe”
不,那可能倒退了吗?所以我试过了:super.sendSubview(toBack:consoleMe)
consoleMe.sendSubview(toBack: super)
...以及“自我”而不是超级。它根本不喜欢超级。它抱怨self是ViewController而不是UIView。
最后,我想知道我是否必须这样做 - 当然有一种方法可以指明UILabel应该保持在其他东西之下吗?
我是否更正UICabel更新自动将其带到前面(或其他东西正在进行?)我试图让其他标签和项目“不透明”但当然这没有效果,因为它们最终落在我的下方控制台标签。
谢谢! -D
答案 0 :(得分:0)
sendSubview(toBack:)
是UIView
的一种方法,所有UIViewController
个对象都包含内置的view
。
来自UIViewController
文档:
查看管理
每个视图控制器管理一个视图层次结构,其根视图存储在此类的
view
属性中。
因此,请在sendSubview(toBack:)
媒体资源上调用view
:
view.sendSubview(toBack: consoleMe)