@IlyaMordasov

Как изменить высоту клавиатуры в swift 3?

Подскажите, как изменить высоту клавиатуры в swift 3? Задача сделать так, что при нажатии на клавиатуре кнопки, view ресайзился во весь экран.

Делаю через NSLayoutConstraint

var screenWidth = UIScreen.main.bounds.size.width;
var screenHeight = UIScreen.main.bounds.size.height;

var heightConstraint: NSLayoutConstraint?

func setUpHeightConstraint()
    {
        if (heightConstraint == nil)
        {
            heightConstraint = NSLayoutConstraint(item: view, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: screenHeight);
            heightConstraint?.priority = UILayoutPriority(UILayoutPriorityRequired);
            
            view.addConstraint(heightConstraint!);
        }
        else
        {
            heightConstraint?.constant = screenHeight;
        }
        heightConstraint?.constant = screenHeight;
        print(">>: \(view.frame.size)");
    }


функция вызывается из updateViewConstraints()

В итоге принт печатает старые размеры, да и сам view не меняется

Проблема еще в том, что я уже такое реализовал месяц назад, но имел неаккуратность удалить тот код, а резервные копии не сохранились.
  • Вопрос задан
  • 211 просмотров
Пригласить эксперта
Ответы на вопрос 2
briahas
@briahas
ObjC, Swift, Python
Наверное забыл перед добавлением констрейнтов вставить:
view.translatesAutoresizingMaskIntoConstraints = false
Ответ написан
Комментировать
@IlyaMordasov Автор вопроса
Да вставил, не особо помогло, вернее так, приложение повело себя странно, в одной сборке, высота поменялась, потом перевыбрал (добавил print() с текстом), скомпилил и опять не меняется
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы