簡體   English   中英

把UIButton帶到前層

[英]Bring UIButton to front layer

我知道有一種方法可以將子視圖帶到層次結構的前面。 但是,有沒有一種方法可以將我放置在故事上的按鈕並調用 function,這將使該按鈕位於頂層,因此它不會被故事板中未添加的任何其他元素隱藏。

謝謝,

我對這個問題遲到了,但 Swift 3 回答這個問題還不算晚

斯威夫特 3

 view.bringSubview(toFront: theButton)

UIButton 是一個 UIView,因此您可以在按鈕實例上調用-bringSubviewToFront:

uiview的顯示順序是它們的堆疊順序。 可以將其更改為插入新的uiview ,在您的情況下是一個 uibutton 。

一種方法是創建IBOUtletuibutton並將該按鈕實例添加為現有uiview之上的子視圖/新視圖。

代碼:

[self.view insertSubview:<new Uiview> aboveSubview:<existing uiview>];

此外,如果您無法弄清楚uiview的順序,那么您可以在xcode檢查

  • 在調試窗口下以調試模式運行項目時,有一個按鈕(在下圖中突出顯示) Debug View Hierarchy ,您需要單擊它。 (在下圖中突出顯示)

調試窗口工具欄

  • 之后,您將能夠看到當前實例在屏幕上呈現的所有views ,使用此功能您將能夠了解您的新uiviewuiview stack order (如下所示)。

UI 視圖層次結構

迅速

如果您正在使用的視圖是同一視圖中的隱藏視圖,則以下內容非常有用。

superview?.bringSubviewToFront(self)

斯威夫特 5

就我而言,我不得不在一些按鈕后面插入我的視圖。 通過將其插入零位置,它被放置在按鈕后面。

        self.view.insertSubview(self.mapView!, at: 0)  

我和你有同樣的問題,我的一個朋友幫助了我

我可以在您聲明按鈕的視圖控制器上使用此函數將我的按鈕帶到另一個子視圖。

    override func viewDidLoad() {
        super.viewDidLoad()
        UIApplication.shared.keyWindow?.addSubview(chatButton)
    }
button.superview?.bringSubviewToFront(button)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM