2016-10-26 4 views
1

Ich möchte Textfelder dynamisch unter meinem statischen Textfeld erzeugen.Wo finde ich genau ein Element mit swift?

Lassen Sie uns sagen, dass ich in dieser Position meine Textfeld haben: x: 50 y: 374 Breite: 220 Höhe: 30

benutzte ich diesen Code, um zu sehen, was es zurück:

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

(Ich benutze swift 3)

Beide falsch.

Irgendwelche Ideen wo liege ich falsch?

Vielen Dank im Voraus

+0

bekommen meist Wahrscheinlich sprichst du über verschiedene Koordinatensysteme. Wo hast du diesen Rahmen: (x: 50 y: 374 Breite: 220 Höhe: 30)? – alexburtnik

+0

@alexburtnik vom Storyboard. –

+0

Können Sie der Frage einen Screenshot Ihrer Ansichtshierarchie hinzufügen? Öffnen Sie einfach das Storyboard, drücken Sie Cmd + Shift + 4 und wählen Sie Ihre Ansichtshierarchie. – alexburtnik

Antwort

2

Wahrscheinlich Drucken Sie von viewDidLoad zu diesem Zeitpunkt hat die Aussicht noch nicht abgesteckt, Sie müssen diese dann bei viewWillAppear oder viewDidLayoutSubview drucken Sie richtigen Rahmen

+0

Ich habe beide getestet, viewDidLayoutSubview funktioniert! Danke –

+0

@mikevorisis, wenn Sie sie zum Hinzufügen von Subview dann einfach erstellen und fügen Sie die Unteransicht in 'viewDidLoad', dann ändern Sie es in der anderen Funktion, achten Sie darauf, dass' viewDidLayoutSubview 'wird mehrmals aufrufen, so erstellen Sie nichts dort – Tj3n

+0

Ich habe das bemerkt und ich tat dies , wenn flag1 == 0 { ypos = mytextfield.frame.origin.y flag1 = 1 } –