ios - 将UILabel的高度动画化为0

标签 ios animation size height uilabel

我有一个UILabel,我想要做的是将其高度平滑地更改为0。

CGRect newFrame = self.label1.frame;
newFrame.size.height = 0;

[UIView animateWithDuration:1.0 animations:^{

    self.label1.frame = newFrame;
}];

问题是动画被卡住会做一些更奇怪的事情。我想标签正在尝试调整其文字的大小和位置,这就是为什么它不起作用的原因。我已经尝试过像标签上所有可能的属性组合一样,但是没有成功。

最佳答案

您可以将UILabel封装到另一个UIView中,将封闭的UIView autoresizesSubviews'属性设置为NO,将clipToBounds设置为YES,然后为封闭的UIView设置高度的动画...

关于ios - 将UILabel的高度动画化为0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11458769/

相关文章:

database-design - (n)varchar列选择什么大小?

performance - 如何删除 quilljs 中未使用的模块

ios - Http post请求没有传递参数?

ios - 按钮和自动布局

java - java中的跳球物理,重力

javascript - 在滚动时平滑地更改剪辑路径

sql - 甲骨文-ORA-01489 : result of string concatenation is too long

ios - 移动版safari虚拟键盘中的表单助手是否可以去掉?

ios - 缩放 UIView 及其所有子项

ios - 如何在动画过程中获取frame.width