2016-08-30 44 views
0

我目前在故事板上有一個水平居中的標誌,從故事板的頂部垂直放置50個像素,它具有377的設置寬度和200的設置高度。我試圖設置另一個元素的邊界以編程方式使用綁定到徽標的IBOutlet,但是返回的邊界不是合適的值,至少從我在故事板中設置的值來看。如何以編程方式獲取通過自動佈局定位的項目的實際呈現值?

我預計值從logo.frame返回是這樣的

x = 100, y = 50, width = 377, height = 200 

但實際值是

x = 0, y = 0, width = 240, height = 128 

這是因爲它的商標具有動態定位是什麼?我可以使用不同的對象來獲取屏幕上呈現的值嗎?

+2

直到自動佈局運行後,該框架纔會正確。檢查'viewDidLayoutSubviews'中的框架。 – vacawama

回答

2

您是否嘗試在佈局更改後獲取位置,例如在viewDidAppear()中?

override func viewDidAppear(_ animated: Bool) { 
    super.viewDidAppear(animated) 
    let width = logo.frame.width 
} 
相關問題