Я хочу сделать это программно без интерфейса Builder. Я хочу добавить UITextField в приложение iOS на постоянное расстояние от нижней части окна приложения. Я рассмотрел множество существующих вопросов и ответов. В Swift нет ни одного, и эта тема кажется относительно не документированной.Swift: программное добавление поля в позицию относительно нижней части окна
ответ
Есть несколько несколько связанных ответы там, но здесь все части потребовалось, чтобы получить эту работу:
1) Мне нужно создать ограничение как
let bottomConstraint : NSLayoutConstraint = NSLayoutConstraint.constraintsWithVisualFormat("V:[inputBox]-50-|", options: NSLayoutFormatOptions(0), metrics: nil, views: ["inputBox": inputBox])[0] as! NSLayoutConstraint
Это использует домен Свифта специфический язык «язык визуального формата» (VFL): V:[inputBox]-50-|
, где «V» означает вертикальный, 50 - это число пикселей, а «|» - относится к нижней части родительского представления.
2) UITextField должен был быть добавлен в представление перед добавлением ограничения в представление, поэтому '|' выше может найти родительский вид.
3) Как только я использовал один NSLayoutConstraint, мне пришлось использовать их для всех аспектов калибровки и позиционирования для этого элемента. Поэтому мне пришлось добавить эти две строки, чтобы описать его ширину и высоту:
let heightConstraint : NSLayoutConstraint = NSLayoutConstraint.constraintsWithVisualFormat("V:[inputBox(==70)]", options: NSLayoutFormatOptions(0), metrics: nil, views: ["inputBox": inputBox])[0] as! NSLayoutConstraint
let widthConstraint : NSLayoutConstraint = NSLayoutConstraint.constraintsWithVisualFormat("H:[inputBox(==superview)]", options: NSLayoutFormatOptions(0), metrics: nil, views: ["inputBox": inputBox, "superview":self.view])[0] as! NSLayoutConstraint
4) Для того, чтобы получить мой UITextField правильно взаимодействовать с ЛВЖ мне пришлось добавить эту строку:
inputBox.setTranslatesAutoresizingMaskIntoConstraints(false)
Собираем все вместе:
let inputBox = UITextField(frame: rect)
inputBox.backgroundColor = UIColor.yellowColor()
inputBox.setTranslatesAutoresizingMaskIntoConstraints(false)
self.view.addSubview(inputBox)
let bottomConstraint : NSLayoutConstraint = NSLayoutConstraint.constraintsWithVisualFormat("V:[inputBox]-50-|", options: NSLayoutFormatOptions(0), metrics: nil, views: ["inputBox": inputBox])[0] as! NSLayoutConstraint
let heightConstraint : NSLayoutConstraint = NSLayoutConstraint.constraintsWithVisualFormat("V:[inputBox(==70)]", options: NSLayoutFormatOptions(0), metrics: nil, views: ["inputBox": inputBox])[0] as! NSLayoutConstraint
let widthConstraint : NSLayoutConstraint = NSLayoutConstraint.constraintsWithVisualFormat("H:[inputBox(==superview)]", options: NSLayoutFormatOptions(0), metrics: nil, views: ["inputBox": inputBox, "superview":self.view])[0] as! NSLayoutConstraint
view.addConstraint(bottomConstraint)
view.addConstraint(heightConstraint)
view.addConstraint(widthConstraint)
- 1. Получить позицию элемента относительно нижней части страницы
- 2. Есть ли способ получить позицию элемента относительно нижней части vewport?
- 3. Название нижней части окна
- 4. Как получить позицию курсора относительно правой части окна браузера
- 5. Добавление UIView в нижней части TableView
- 6. Добавление к нижней части списка
- 7. Добавление текста в позицию относительно определенного слова
- 8. Удерживайте div в нижней части окна браузера
- 9. Как разместить div в нижней части окна?
- 10. Прокручивание окна в нижней части элемента
- 11. нижние выравнивающие divs в нижней части окна
- 12. Вертикально выровнять текст в нижней части окна?
- 13. продукт место изображения в нижней части окна
- 14. Всплывающее меню в нижней части окна
- 15. Как установить коробку в нижней части окна?
- 16. UIDatePicker, перемещающийся в нижней части окна
- 17. положить NSToolBar в нижней части окна
- 18. Выравнивание div в нижней части окна innerheight
- 19. Статистика окна, расположенного в нижней части контейнера
- 20. Выравнивание мой Popup в нижней части окна
- 21. ionicframework AdMob в нижней части окна
- 22. Почему BarButton находится в нижней части окна?
- 23. Как получить текущую позицию элемента относительно окна
- 24. Добавление макета в нижней части экрана
- 25. Добавление StatusBar в нижней части iPhone
- 26. Добавление точек в нижней части экрана UIPageViewController
- 27. Добавление итогов в нижней части отчета
- 28. Добавление кнопки в нижней части табличного вида
- 29. Добавление кнопки в нижней части TableView
- 30. добавление изображения/значка в нижней части экрана
Программно или через IB? Для этого есть два простых способа. – Caleb
Программно. Я отредактировал вопрос, чтобы отразить это. – Whosyourjay