问题描述
我正在尝试使用布局约束为 ViewController 中的视图设置动画。我的目标是将视图的高度从 0 转换为 finalHeight
,以使视图从底部“出现”。
现在我正在测试使视图从 90 点增长到 150 点,即使动画按预期工作,视图的背景也没有按预期运行。
当视图增长时,视图底部粘在屏幕底部,问题是视图的原始高度阻止(我猜)背景颜色填充新高度,然后动画不是它应该是什么。
以下是当前动画的示例:
如您所见,图像似乎在平移 y 轴,但实际上,它正在为视图高度约束设置动画。
这是代码:
func didRequestMatch(friend: Friend) {
self.friendChallengeLabel.text = friend.name.isEmpty ? friend.email : friend.name
self.challengeViewHeight.constant = 140
UIView.animate(withDuration: 2) {
self.view.layoutIfNeeded()
}
}
为了显示动画实际上是在改变视图的高度而不是 y 轴,这里是调试视图层次结构的屏幕截图
在这里你实际上可以看到新视图的高度是 140
Printing description of $16:
<UIView: 0x7fc119419eb0; frame = (87.5 527; 200 140); clipsToBounds = YES; autoresize = RM+BM; autoresizesSubviews = NO; layer = <CALayer: 0x600002b66ec0>>
创建视图的方式来自 Storyboard,如下所示:
你知道哪里出了问题吗?
非常感谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)