gpt4 book ai didi

ios - UIView - 带有持续时间的动画似乎忽略了持续时间

转载 作者:搜寻专家 更新时间:2023-10-30 22:30:41 25 4
gpt4 key购买 nike

我遇到了一个问题:我有一个非常简单的自定义 UIView,它将一个 UITextField 和一个 UILabel 组合在一起。

UILabelUITextField 上,我希望当用户开始编辑 UILabel 达到 40px UITextField

我正在使用约束来设置文本字段的框架和标签的框架。

所以我只是在我的自定义 View 中使用 UITextFieldDelegate 协议(protocol)设置委托(delegate),并实现委托(delegate)方法:textFieldDidBeginEditing,如下所示:

我只是在委托(delegate)方法中为我的标签的约束(中心 Y)设置动画。

func textFieldDidBeginEditing(textField: UITextField) {
self.centerVerticallyLabelConstraint.constant = -40
UIView.animateWithDuration(0.5) {
self.textFieldLabel.layoutIfNeeded()
}
}

发生的事情是 UILabel 正确上升,但它立即上升。它忽略了我动画中 0.5 的持续时间。我不知道为什么:

Show problem image

我没有同时制作其他动画,我只有这个动画。我没有为 UIView. 禁用动画委托(delegate)设置为我的 UITextfield

有什么想法吗?

最佳答案

尝试在您的 View 上调用 layoutIfNeeded 而不是 textview。

UIView.animate(withDuration: 0.5) {
self.view.layoutIfNeeded()
}

希望这对您有所帮助。

关于ios - UIView - 带有持续时间的动画似乎忽略了持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39469494/

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