#ios #swift #uikit
#iOS #swift #uikit
Вопрос:
UIKit. Например, у меня есть пять текстовых полей в моем приложении. Все в одном ViewController. Когда я запускаю свое приложение, все эти текстовые поля отображаются одновременно в представлении.
Итак, я хотел бы внести следующие изменения:
- Запуск приложения -> Пользователь видит первое текстовое поле -> Нажмите на него, введите информацию -> коснитесь чего-нибудь (например, кнопки или просто завершить редактирование первого текстового поля, не имеет значения) ->
- Второе текстовое поле появляется в представлении после первого текстового поля. <..> ->
- В представлении появляется третье текстовое поле <..> ->
- В представлении появляется четвертое текстовое поле. <..> ->
- В представлении появляется пятое текстовое поле.
Кроме того, я хотел бы использовать анимацию, чтобы получить эффект плавного отображения (пока это другая история).
Не могли бы вы мне помочь, пожалуйста?
Ответ №1:
- Добавьте текстовое поле в UIStackView.
- Скрыть все текстовые поля, кроме первых, с помощью
isHidden = true
- Установите контроллер представления в качестве делегата всех текстовых полей.
- Переопределите один из соответствующих методов делегирования, чтобы получать уведомления при завершении редактирования. Какой из них зависит от того, что вы хотите сделать, и когда редактирование завершится.
- Устанавливается
isHidden = false
для текстового поля, которое должно отображаться в блоке анимации. Используйте анимацию на основе UIView или UIViewPropertyAnimator.
Если один из пунктов неясен, вы еще не готовы к его созданию. Читайте, читайте и экспериментируйте, пока эти моменты не станут понятными. Затем реализуйте их.