Лучший способ заставить UITextField «появиться»
-
22-08-2019 - |
Вопрос
Я хотел бы UITextField
появляться при нажатии кнопки.К сожалению, я не могу скрыть это в Interface Builder, а затем установить для скрытого свойства значение NO
позже, потому что «ibtool завершается с ошибкой с кодом выхода 5», если вы попытаетесь скрыть UITextField
.
Я попытаюсь сделать это в коде, но мне интересно, могу ли я что-то упустить или допустить серьезную ошибку пользовательского интерфейса, пытаясь сделать что-то подобное?А может это просто баг?!?
Решение
Если вы не можете сделать его скрытым в IB, вы можете сделать это программно, с помощью field.hidden = YES;
в вашем viewController viewDidLoad
метод.Затем просто установите его обратно на NO
в целевом действии кнопки.
Другие советы
странно, но вы могли бы просто добавить его программно и показать с помощью анимации непрозрачности.
Или просто установите его alpha
до 0,0.Вы даже можете очень легко анимировать изменения, и это будет выглядеть очень хорошо.
Я только что попробовал добавить UITextField
в IB и проверяем hidden
коробка, и не было никаких сбоев.Конечно, я использую бета-версию SDK 3.0, так что, возможно, там исправлена ошибка.В любом случае, однако, вы сможете просто пометить его как скрытый, а затем в наборе кодов. hidden = NO
.Я не уверен, почему это не работает для вас без дополнительной информации.
Да, похоже на ошибку, но возможный простой обходной путь — просто сделать его пустым, т.е.не давать ему строкового значения в IB
, и установите это строковое значение (через NSLocalizedString()
конечно), когда вы хотите, чтобы оно «появилось».