0

在 iPhone 上的 mail.app 中,每封电子邮件的摘要以UITableView. 当用户扫过一行时,标签会调整大小以适应删除按钮,并且文本会重新换行(在更小的空间内,换行符可以移动)。

我已经想出了如何更新标签的宽度以使文本重新换行。但是你也会注意到,Apple 在标签文本重新对齐时使用了一个简洁的淡入淡出动画。我怎样才能实现类似的目标?

我试图操纵标签的 alpha,willTransitionToStatedidTransitionToState我不能让它工作。

4

1 回答 1

1

我检查了 iOS 5 的行为,以确保它没有被 iOS 6 中添加的对 NSAttributedString 的支持启用,而且似乎没有启用。既然是这样,我看到了几种重新创建它的方法。我做过类似的事情,但不完全是这样,所以带着一点盐(但我几乎肯定它会产生完全相同的效果)。

您可以尝试以下...

将遮罩层添加到 UILabel。遮罩层应该让一切都通过。(所以我相信 blackColor 将作为背景颜色)。将子图层添加到蒙版图层。该子层将成为效果的驱动程序。它会将其背景颜色从黑色渐变为白色(使其下方的内容淡出)。您希望子图层蒙版应用于正在消失的标签区域。您可以将框架固定到该区域,它应该可以解决。如果您需要一些示例代码,请告诉我。

编辑:

你见过这个线程吗?这可能有助于使其隐式工作。 使用 willTransitionToState 在 uitableviewcell 中为文本标签设置动画

于 2012-10-17T22:37:48.147 回答