我想要一個UILabel不斷更新在同一個屏幕上的界面元素後面。通過使用Swift的Xcode工具中的Debug View Hierarchy工具,我可以看到我的標籤從其他元素下面開始。只要我更新標籤中的文字,它就會跳轉到頂部並覆蓋我的其他標籤和界面元素。在Swift中向前和向後發送標籤...我必須?
第一個問題......我不能設置前後層在Interface Builder找到工具......如果有人能指出這一點,我認爲會是巨大的,谷歌不是我的朋友。
因爲當我更新標籤時它會最終位於最前面,我想我可以將標籤發回到後面每當我刷新它...在我的ViewController.swift文件中,在我更新標籤的功能文字,我已經試過:(我的標籤的出口掛鉤被稱爲 「consoleMe」
super.sendSubview(toBack:consoleMe)
都能跟得上...這是倒退,也許所以,我想:
consoleMe.sendSubview(toBack: super)
...以及「自我」而不是超級。它根本不喜歡超級。它抱怨自我是ViewController而不是UIView。
最後,我想知道如果我必須這樣做 - 當然有一種方法可以指定UILabel應該保持在其他東西之下嗎?
我正確的更新一個UILabel會自動將它帶到前面(或者是其他事情正在進行?)我試圖讓其他標籤和項目「不透明」,但當然它們沒有效果,因爲它們在下面結束我的控制檯標籤。
謝謝! -D
嗨!感謝您的回覆。從你寫的,我明白,sendSubview是一個可用於UIView的函數調用。我的第一個猜測更接近(ViewController做的工作,而不是UILabel。)謝謝你!我不明白的是「所有的UIViewController對象都包含一個內置的視圖」。我知道我的程序正在創建一個ViewController類的實例,我們正在做所有事情......是指「屬性」這個單詞嗎?或者是另一個類的實例?我也很想知道是否有辦法將控件或視圖的圖層與其他對象相關聯。 – Beagley
@Beagley是'view'是'UIViewController'的一個屬性,當你創建自己的時候你可以繼承它,所以你可以訪問'view'。我在我的答案中增加了更多細節。 – Paolo
@Beagley關於與其他視圖關聯的視圖,請查看AutoLayout – Paolo