2012-10-17 72 views
0

在iPhone的mail.app中,每个电子邮件的摘要显示在UITableView中。当用户在一行上滑动时,标签将被调整大小以容纳删除按钮,并且文本被重新包装(在较小的空间中,换行符可以移动)。调整UITableViewCell内容大小时对UILabel的过渡效果ViewView

我已经想出了如何更新标签的宽度,使文本重新包装。但是你也会注意到,Apple在重新对齐时在标签的文本上使用了一个整齐的小褪色动画。我怎样才能达到类似的目的?

我试图操纵willTransitionToStatedidTransitionToState中的标签的alpha,但我无法完全解决它的问题。

+0

所以你有一个动画块的大小变化?它不是一个alpha事物,因为只有正在移动的文本才会进行交叉淡入淡出。编辑:澄清,我的意思不是在整个标签上的阿尔法操纵。 – Matt

+0

他们可能正在做一个检查,看看文本是否会被重新包装。 –

回答

1

我检查了iOS 5的行为,以确保它没有启用iOS 6中对NSAttributedString的额外支持,并且它似乎不是。既然如此,我看到了一些重新创建它的方法。我做了类似的事情,但不是完全一样,所以拿一点盐(但我几乎肯定它会有完全相同的效果)。

您可以尝试以下操作...

将遮罩层添加到UILabel。蒙版图层应让所有内容通过。 (所以blackColor将作为我认为的背景色)。添加一个子图层到遮罩层。这个子层将成为效果的驱动程序。它会将背景颜色从黑色渐变为白色(使其下面的内容淡出)。您希望将子图层蒙版应用于正在消失的标签区域。你可以将框架固定到这个区域,它应该解决问题。让我知道你是否需要一些示例代码。

编辑:

你见过这个线程?这可能有助于隐含起作用。 animate textlabel in uitableviewcell using willTransitionToState

相关问题