Только что посмотрел Список попаданий там. Похоже, они просто оживляют вид снизу.
Я бы пошел на это, создав UIView
, назовем его slidingView
. Вы можете сделать это в существующей раскадровке или создать для нее новый файл .xib. Затем, когда вы вызываете свой viewDidLoad
для контроллера представления, в котором будет содержаться этот slidingView
, переместите экран slidingView
за пределы экрана и анимируйте его, когда захотите.
Пример:
import UIKit
class ViewController: UIViewController {
private struct Constants {
static let animationDuration: TimeInterval = 0.3
static let marginFromTop: CGFloat = 32.0
}
@IBOutlet private weak var slidingView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
moveSlidingViewOffScreen()
}
// MARK: - Actions
@IBAction func buttonTap(_ sender: UIButton) {
UIView.animate(withDuration: Constants.animationDuration) {
self.slidingView.frame.origin.y = Constants.marginFromTop
}
}
// MARK: - Private functions
private func setupSlidingViewOffScreen() {
slidingView.frame.origin.y = view.frame.height
}
}