我想在上面的第一个方块和第二个方块之间插入一个新的方块,我希望的插入动画是新的方块从中心向两边展开(类似ppt中某个动画),同时其他几个方块的宽度能够慢慢变小,最后五个方块能够等宽,就像下面这样
但是我目前的情况是其中的文字会先瞬间移动到最终的位置(也就是说方块变小的过程中文字是不居中的),然后方块的宽度再慢慢变小,不知道为什么,我都是使用autolayout写的动画,我目前的写法是先写上新的方块的top,bottom,leading,trailing约束,然后调用layoutIfNeeded,最后是写上等宽约束,在animate block里面调用layoutIfNeeded。
표현이 명확하지 않습니다. 자동 레이아웃 애니메이션에서 가장 중요한 것은 뷰의 상태를 파악하는 것입니다. 간단히layoutIfNeeded를 호출하면 마지막 효과만 렌더링됩니다. 상태 지점에 도달하기 전에 보기 상태를 저장해야 합니다. 간단히 말하면, 애니메이션이 실행된 후 레이아웃을 사용하여 효과를 얻습니다. 다른 애니메이션이 있는 경우에는 setNeedsLayout을 사용해야 합니다. 그 후 마지막으로 레이아웃을 다시 호출해야 합니다.
으아아아