2016-01-19 3 views
-1

Я новичок в Swift, и я пытаюсь переместить UITextField, когда открывается мягкая клавиатура.view.frame.origin.y не влияет на subviews

Когда я звоню view.frame.origin.y = -150 от UIViewController, то UIView перемещается, но UITextField внутри него нет. (UITextField «прыгает» и возвращается в исходное положение.)

Он работал некоторое время назад, и я не уверен, что произошло.

+0

Вы должны объявить некоторые ограничения макета с использованием NSAutoLayout сделать что-то подобное. –

+0

Возможный дубликат [Как сделать UITextField движением вверх, когда клавиатура присутствует] (http://stackoverflow.com/questions/1126726/how-to-make-a-uitextfield-move-up-when-keyboard-is- присутствует) – Moritz

+0

Правильный способ открытия и закрытия клавиатуры: https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html – bhavesh

ответ

0

Я думаю, LucaD is correct - вам не хватает ограничений между UITextField и UIViewController.

Если вы используете Interface Builder см от Apple Adding Layout Constraints by Control-Dragging

В противном случае, если вы создаете UITextField программно, см SWIFT | Adding constraints programmatically

+0

У меня есть ограничение 'mytextfield.Top = Top Layout Guide.Bottom'. Этого достаточно? – Code

+0

Вы уверены, что базовый UIView для ViewController перемещается с клавиатуры? @ tumber033 – mmarkman

1

Нашли проблему.

У меня было ограничение mytextfield.Top = Top Layout Guide.Bottom, когда оно должно быть mytextfield.Top = SuperView.Bottom

Смежные вопросы