Как я могу добиться такого вида представления, который используется в приложении Wunderlist для iOS? - PullRequest
1 голос
/ 05 апреля 2019

Как я могу создать типы представлений, которые скользят вверх от нижней части экрана, как показано ниже? Это встроенный тип представления или что-то нестандартное?

Снимки экрана: Wunderlist и Список совпадений Приложения для iOS соответственно.

image image

1 Ответ

1 голос
/ 05 апреля 2019

Только что посмотрел Список попаданий там. Похоже, они просто оживляют вид снизу.

Я бы пошел на это, создав 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
    }

}

...