簡體   English   中英

相當於只被調用一次的“ viewDidLayoutSubviews”?

[英]Equivalent to “viewDidLayoutSubviews” that is only called once?

我正在尋找只被調用一次的viewDidLayoutSubviews替代方案。

我使用以下代碼將登錄名移出視圖:

override func viewDidLayoutSubviews() {
    username_input.center.x -= view.bounds.width
    password_input.center.x -= view.bounds.width
    login_button.center.x -= view.bounds.width
}

我需要這樣做一次,以便在viewDidAppear時可以通過動畫將其移入。 在我將View拆分為不同的子視圖之前,這一切都很好,現在該函數被多次調用。 我找不到僅被調用一次的等效函數。

定義一個布爾值,該布爾值在第一次執行viewDidLayoutSubviews會變為false 我做了很多次,而且效果很好。

fileprivate var firstLayoutSubviewsTime = true

override func viewDidLayoutSubviews() {
    if firstLayoutSubviewsTime {
        firstLayoutSubviewsTime = false

        [...]
    }
}

暫無
暫無

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

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