2016-10-26 29 views
1

我想動態生成我的靜態文本字段下的文本字段。查找哪裏是確切的元素與快速

比方說,我有我在那個位置文本框: X:50 Y:374寬度:220高度:30

我使用的代碼,看看它會返回:

print(mytextfield.center.y) // 500 
print(mytextfield.frame.origin.y) // 0.0 

(我用swift 3)

這兩個都不對。

任何想法我錯在哪裏?

在此先感謝

+0

最可能你正在談論不同的座標系。你從哪裏得到這個框架:(x:50 y:374 width:220 height:30)? – alexburtnik

+0

@alexburtnik從故事板。 –

+0

您可以添加視圖層次結構的屏幕截圖到問題嗎?只需打開故事板,按cmd + shift + 4並選擇您的視圖層次結構。 – alexburtnik

回答

2

也許你是從viewDidLoad打印,在這個時間點的看法還沒有佈局的是,你需要在viewWillAppearviewDidLayoutSubview打印此那麼你就可以得到正確的幀

+0

我測試了兩個,viewDidLayoutSubview工作!謝謝 –

+0

@mikevorisis如果你使用它們來添加子視圖然後在viewDidLoad中創建並添加子視圖,然後在其他函數中改變它的框架,注意''viewDidLayoutSubview''會多次調用,所以不要創建任何東西 – Tj3n

+0

我注意到,如果flag1 == 0,我做了 { ypos = mytextfield.frame.origin.y flag1 = 1 } –