我试着用CATextLayer动画化文本。
intValueLayer = [CATextLayer layer];
[intValueLayer setFrame:self.lblIntPart.bounds];
[[self.lblIntPart layer] addSublayer:intValueLayer];我在我的视图中使用AutoLayout,并且我知道setFrame方法不能正常工作。在我的CATextLayer比self.lblIntPart .So更小的框架中,如何向self.lblIntPart.So添加约束或用与self.llbIntPart相同的框架显示约束。
谢谢!
所有方法看起来都是:
intValueLayer = [CATextLayer layer];
[intValueLayer setFrame:self.lblIntPart.bounds];
[[self.lblIntPart layer] addSublayer:intValueLayer];
[intValueLayer setAlignmentMode:@"center"];
[intValueLayer setForegroundColor:self.category.colour.colour.CGColor];
[intValueLayer setFont:CFBridgingRetain(@"DilleniaUPCBold")];
[intValueLayer setFontSize:96.0f * scale];
intValueLayer.contentsScale = [UIScreen mainScreen].scale;
[intValueLayer setString:@"0"];发布于 2013-10-29 14:57:19
在试图复制你的问题后,我理解如下。
可能您的标签框架很大,默认的CATextLayer字体属性并不完全适合框架。
尝试调整CATextLayer的属性。
[intValueLayer setFont:(__bridge CFTypeRef)([UIFont systemFontOfSize:17])];
[intValueLayer setFontSize:17];因此,如果您按原样使用了标签,则它与属性相匹配。
https://stackoverflow.com/questions/19661410
复制相似问题