我想为使用iOS提供的NSString(UIStringDrawing)类别方法绘制的文本添加一个阴影:
- (CGSize)drawAtPoint:(CGPoint)point forWidth:(CGFloat)width
withFont:(UIFont *)font minFontSize:(CGFloat)minFontSize
actualFontSize:(CGFloat *)actualFontSize
lineBreakMode:(UILineBreakMode)lineBreakMode
baselineAdjustment:(UIBaselineAdjustment)baselineAdjustment;
显然,没有阴影选项。
是的,可以在这里使用UILabel,并获得阴影属性来设置,但是不会像性能那样,因为任何UIView子类(如UILabel)都会包装一个CALayer对象,并且会更重(性能明智)。
这是上下文:
我正在为UITableViewCell子类做自定义绘图,在表单元格视图上实现drawRect:而不是从合成的UIView子类的Nib文件创建表单元格。
合并一大堆UIView子类将会破坏在表视图滚动性能中保持这种精益度并保持在每秒50-60帧内的目的。
我已经尝试绘制字符串两次轻微的偏移。一旦我调整了我已经去的单元格的背景颜色上的阴影颜色,这可能会变得可以接受,但是它看起来似乎是坏的。当然没有像UILabel那样的阴影模糊属性。
我搜索了解决方案,他们或者推荐UILabel使用(我已经在上面被解雇了,因为我有大约十几个不同的文本元素被合并到表格单元格视图)或CGContextSetShadow()。后者总是似乎在矩形形状的上下文中被提出,并不一定是将阴影附加到直接用上述NSString drawAtPoint …方法绘制的文本的路径。 (我尝试了,但似乎没有工作(即没有改变);我是新的Core Graphics绘图)。
建议?