iOS:如何更改检视尺寸调整动画的方向:

时间:2018-10-03 15:24:16

标签: ios swift animation resize direction

我正在一个装有UIScrollView的屏幕上工作,我需要提供一个调整UIView和UILabel大小的功能。所有视图都将受布局约束添加到UIScrollView中。

现在要更改UILabel的大小,我使用以下代码:

desriptionLabel.numberOfLines = desriptionLabel.numberOfLines == 0 ? 1 : 0
UIView.animate(withDuration: 0.5) {
    self.descriptionView.layoutIfNeeded()
}

要更改视图大小,我已经为此视图的高度约束创建了IBOutlet,并且执行以下操作:

if additionalSocialViewHeightConstraint.constant == 60 {
    additionalSocialViewHeightConstraint.constant = 240
} else {
    additionalSocialViewHeightConstraint.constant = 60
}

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

现在两个动画都可以工作并调整标签的大小并相应地进行查看,我遇到的问题是这些动画的工作方式。

在两种情况下,动画都会从中心向外扩展视图。因此,对于标签,标签的视图立即增长到期望的大小以适合所有标签文本,然后文本开始从大视图中心的一行沿上下两个方向扩展。

在视图的情况下。再次,该视图首先扩大其周围的空间,将初始视图放置在该空间的中间,然后沿上下方向增长以占据所有空间。

问题:现在,因为我在UIScrollView中,这看起来不太好,我需要更改动画,从中间开始向两个方向扩展,然后从顶部开始并扩展只到底部。另外,我需要缩小到原始大小的动画才能以相同的方式工作,这意味着将视图从下往上缩小。

问题:有人知道我应该如何管理这种动画吗?我做错了什么?任何帮助将不胜感激。

两个视图的约束配置:

UILabel:

enter image description here

UIView:

enter image description here

0 个答案:

没有答案