Как представить UIView снизу до половины экрана в Swift3 iOS? - PullRequest
0 голосов
/ 08 июня 2018

Я хочу переместить мой UIView, который я добавил к своему Storyboard, снизу на половину экрана с некоторой анимацией.

Я не хочу представлять UIViewController, а также не хочу использовать Third party Library.

Я попытался решить эту проблему, установив начало кадра y в UIView, но не достиг.Пожалуйста, предложите мне.

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Добавьте bottomConstraint как IBOutlet и измените значение константы ограничения внутри анимационного блока

enter image description here

Полный код

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var customView: UIView!
    @IBOutlet weak var bottomConstraint: NSLayoutConstraint!

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
            self.animate()
        }
    }

    func animate() {
        self.bottomConstraint.constant = 0
        UIView.animate(withDuration: 2, animations: {
            self.view.layoutIfNeeded()
        }) { (finished) in

        }
    }

}

Результат enter image description here

0 голосов
/ 08 июня 2018

Добавьте ваш вид со следующими ограничениями

leadingConstraint: 0
trailingConstraint: 0
heightConstraint: screenheight/2
botttomConstraint: -height

Если вы хотите представить свой вид, выполните следующие действия:

bottomConstraint = 0

UIView.animate(withDuration: 0.3) {
    yourView.superview?.layoutIfNeeded()
}
...