不需要为此使用 CoreText (顺便说一下,CoreText 并不容易理解,相信我我在这个框架上做了很多工作,在你的情况下,不需要使用如此复杂的低级框架而你可以用更简单的方法做你想做的一切)
1. 动画
使用基于块的动画方法来制作“脉冲”动画非常简单,并将标签UIView
更改为 a ,这将使缩放从 100% 变为 130%,然后再回到 100%。transform
CGAffineTransformScale
使标签脉冲从 100% 到 130% 的最简单示例是使用以下代码:
[UIView animateWithDuration:0.5 animations:^{
// grow the label up to 130%, using a animation of 1/2s
myLabel.transform = CGAffineTransformMakeScale(1.3,1.3);
} completion:^(BOOL finished) {
// When the "grow" animation is completed, go back to size 100% using another animation of 1/2s
[UIView animateWithDuration:0.5 animations:^{
myLabel.transform = CGAffineTransformIdentity;
}];
}];
当然这是一个简单的例子,您可以使用其他更完整的[UIView animationWithDuration:…]
变体自定义动画(添加延迟、控制动画曲线等)。
您甚至可以使用 CoreAnimation 来构建显式且更详细的动画,请参阅 Apple 文档中的Core Animation Cook Book和Core Animation Programming Guide以了解构建更复杂动画的更多详细信息;但在你的情况下,[UIView animationWithDuration:…]
变体应该就足够了)
2.自定义字体
您可以轻松地将自定义字体添加到您的应用程序中,只需在应用程序资源中添加字体(TTF 文件),然后使用UIAppFonts
Info.plist 中的键列出这些自定义字体。有关更多信息,请参阅Info Plist Key Reference 中的此处。
3.文字渐变色
您可以通过在图像的蒙版上绘制文本来执行此类操作。在图像上绘制渐变(使用 CoreGraphics,请参阅Quartz 2D 编程指南)并将文本用作遮罩(遮罩的黑色部分为绘制部分,白色部分为透明)。
但更简单的方法是在您的资源中使用一些图像作为模式(例如具有一些渐变的图像),并使用以下代码来使用此渐变颜色:
yourLabel.textColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"yourpattern.png"]];
您甚至可以UIImage
使用 CoreGraphics(或 CAGradientLayer 或其他东西)通过代码(而不是在资源中)创建渐变。