【发布时间】:2014-02-25 23:21:17
【问题描述】:
我有一个具有多个子视图的 uiscrollview。它们一个接一个地堆叠在一起,有间距限制。它们通过自动布局定义 uiscrollview 的内容大小。
每个视图都是我的“sn-p 视图”——一个 100 像素的视图。当用户点击 sn-p 视图时,我需要用我的“消息视图”替换它 - 一个更高的视图。消息视图具有固有的内容大小。
当我替换它时,我删除了所有约束,然后再次应用它们,以便它们将所有视图堆叠在一起,并以正确的顺序插入新添加的消息视图。
这实际上工作正常,但并不顺利。我想对此进行动画处理,以便删除 sn-p,将下面的视图向下移动以为更高的消息视图腾出空间,新的消息视图添加了前一个 sn-p 的原点,我对其进行了动画处理填充空间的框架高度。
我的代码可以在没有自动布局的情况下执行此操作,并且效果很好。但是它有大量的布局代码,我希望用自动布局来做。
我尝试执行删除/重新应用约束过程,然后将 layoutIfNeeded 放入动画块中。问题是新添加的消息视图被添加了一个原点 0,0,然后动画到它的正确位置,这不是一个好的效果。
【问题讨论】:
标签: ios ios7 uiscrollview autolayout