gpt4 book ai didi

ios - 动画 subview Controller View

转载 作者:行者123 更新时间:2023-11-28 23:23:04 24 4
gpt4 key购买 nike

我有一个 subview Controller ,我想在父 View Controller 上添加一个按钮。单击按钮时,我希望子 VC 从屏幕底部出现到屏幕的一半。我试图为高度限制设置动画,但出于某种原因,它不会从屏幕底部开始。所以动画看起来很奇怪。它从底部开始上升和下降,直到达到我指定的常数值。这是我的:

    func setChildVC() {
self.addChild(childVC)
mainView.addSubview(childVC.view)

childVC.didMove(toParent: self)
childVC.view.translatesAutoresizingMaskIntoConstraints = false

heightAnchor = childVC.view.heightAnchor.constraint(equalToConstant: 0)

NSLayoutConstraint.activate([
childVC.view.leadingAnchor.constraint(equalTo: self.view.leadingAnchor),
childVC.view.trailingAnchor.constraint(equalTo: self.view.trailingAnchor),
childVC.view.bottomAnchor.constraint(equalTo: mainView.bottomAnchor),
heightAnchor,
])
}

这就是我为高度设置动画的方式(目前在 viewDidLoad 上):

self.heightAnchor.constant = 350
UIView.animate(withDuration: 2) {
self.childVC.view.layoutIfNeeded()
}

我试图将 childVC.view 的 y 轴设置在屏幕下方,但由于限制,它不起作用。

最佳答案

替换

self.childVC.view.layoutIfNeeded()

self.mainView.layoutIfNeeded()

要正确测试它,请不要在 viewDidLoad 中尝试它,这太早了,也为了不同的屏幕高度做

self.heightAnchor.constant = self.view.frame.height / 2.0

关于ios - 动画 subview Controller View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59338150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com