如何创建从屏幕底部向上滑动的视图类型,如下图所示?这是内置视图类型还是自定义类型?

屏幕快照分别来自 Wunderlist Hit List iOS应用程序。

最佳答案

刚刚查看了那里的命中列表。好像他们只是从底部向上看一个动画。

我将通过创建一个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
    }

}

10-02 18:57