2016-10-26 5 views
1

静的なテキストフィールドの下にテキストフィールドを動的に生成したい。どこが素早い要素であるかを確認

はのは、私がその位置に私のテキストフィールドを持っているとしましょう: X:50 Y:374幅:220高さ:30

私はそれが返されるか確認するためにそのコードを使用:

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

(私はスイフト3を使用します)

どちらも間違っています。

どこのアイデアが間違っていますか?事前

+0

を得ることができますたぶんあなたは異なる座標系について話しているでしょう。このフレームはどこにありますか:(x:50 y:374幅:220 height:30)? – alexburtnik

+0

@alexburtnik from storyboard。 –

+0

ビュー階層のスクリーンショットを質問に追加できますか?ストーリーボードを開き、cmd + shift + 4を押してビューの階層を選択するだけです。 – alexburtnik

答えて

2

おかげでおそらくあなたがviewDidLoadから印刷され、この時点でのビューはまだレイアウトされていない、あなたはviewWillAppearまたはviewDidLayoutSubviewでこれを印刷する必要がある、あなたはほとんど正しいフレーム

+0

私はviewDidLayoutSubviewの両方をテストしました!ありがとうございました –

+0

@mikevorisisもしあなたがサブビューを追加するのに使っているなら、 'viewDidLoad'でサブビューを作成して追加し、他の関数のフレームを変更して、' viewDidLayoutSubview 'が何度も呼び出すので気をつけてください。 – Tj3n

+0

私はそれに気づいた、私はこれをした もしflag1 == 0 { ypos = mytextfield.frame.origin.y flag1 = 1 } –

関連する問題