使用UILabel调整uiview并正确设置动画

Vin*_*inh 4 cocoa-touch uiview uiviewanimation ios

我有一个UIView作为容器,里面有一个UILabel,如下所示:

-------------       ---------
|           |       |       |
|Label text |       |Label..|
|           |  -->  |       |
|           |       |       |
|           |       |       |
-------------       ---------
Run Code Online (Sandbox Code Playgroud)

现在我用的时候:

UIView animateWithDuration:animations:

并尝试将UIView(包含UILabel)的宽度设置得较小,然后在动画期间UILabel突然替换为"..."而没有平滑过渡到它.我将UILabel自动调整掩码设置为UIViewAutoresizingFlexibleWidth,UIViewAutoresizingFlexibleRightMargin以使其保持不变并将contentmode设置为left.

尝试其他内容模式,如:缩放以填充,宽松适合,宽高比填充也不能解决我的问题,因为它们缩放文本然后看起来很奇怪.

任何人都知道如何为UILabel平稳过渡?

Jon*_*hon 5

前段时间我用标签描述了我的标签,但你必须付出一些代价.基本思路: - 使用clipsToBounds:YES将标签添加到containerview. - 不要为标签框架设置动画,而是为容器视图的框架设置动画,这样您的标签就会平滑过渡. - 为Elipsis(...)使用单独的标签,以便您也可以为此部分设置动画.