我有一个视图控制器(在storyboard中),在这个控制器中,我有一个覆盖整个屏幕的UI图像(作为背景),它是灰色的。在这个背景图像上,我有一个标志的UI图像和一个只是白色的UI图像。这两个(logo和白色部分)都在背景之上。在白色部分的顶部,我有一个 "用户名 "标签和一个文本字段。
当我运行应用程序时,用户名和文本字段没有出现。相反,它只显示了logo和白色部分,但没有显示用户名标签和文本字段。
这可能与他们是2个UI图像视图在一起,而文字在他们两个的顶部有关,但我仍然不知道如何从这里解决这个问题。谁能帮帮我?
我以前见过这种情况......
当有图像视图相互叠加时,似乎 有时 自动排版渲染最上面的图像视图。在...之上 视图的顶部(是的,所有的 "顶部 "让人困惑)。
更简单的解释方式。
- image view
- image view
- label
被渲染成:
- image view
- label
- image view
我从来没有找到一个解释 何以但这是正在发生的事情。
有几个选择。
嵌入你的图像视图作为一个子视图的。UIView
或
关于 viewDidLoad()
明确地将标签和文本字段放在前面。
class OrderViewController: UIViewController {
@IBOutlet var userNameLabel: UILabel!
@IBOutlet var userNameTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
view.bringSubviewToFront(userNameLabel)
view.bringSubviewToFront(userNameTextField)
}
}