Как я могу узнать height
моего UIView
до того, как он будет представлен на самом деле?
Вот что я попробовал:
print(wishWishView.frame.size.height)
self.view.addSubview(self.wishWishView)
wishWishView.leadingAnchor.constraint(equalTo: self.view.leadingAnchor).isActive = true
wishWishView.trailingAnchor.constraint(equalTo: self.view.trailingAnchor).isActive = true
wishWishConstraint = wishWishView.topAnchor.constraint(equalTo: self.view.bottomAnchor)
wishWishConstraint.isActive = true
UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 1.0, initialSpringVelocity: 1.0, options: .curveEaseInOut, animations: {
self.transparentView.alpha = 0.7
self.wishWishConstraint = self.wishWishView.topAnchor.constraint(equalTo: self.view.bottomAnchor, constant: - self.keyboardHeight)
self.view.layoutIfNeeded()
}, completion: nil)
Проблема в том, что wishWishView.frame.size.height
равен 0
до тех пор, пока представление фактически не будет представлено.
Чего я действительно хочу добиться, так это скрыть представление внизу. Я знаю, что могу просто использовать constant: 1000
, но это довольно грубая сила и не очень чистая.
Редактировать:
Процесс:
1. пользователь нажимает на кнопку
2. вид отображается снизу справа над панелью управления
3. пользователь отклоняет представление
4. представление перемещается к нижней части представления
Анимация
У меня есть все functions
и variables
(func viewAppears
, keyboardHeight
, ...), но я борюсь с constraints
.