我正在尝试使用CATextLayer为文本更改设置动画。
intValueLayer = [CATextLayer layer];
[intValueLayer setFrame:self.lblIntPart.bounds];
[[self.lblIntPart layer] addSublayer:intValueLayer];
我在我的视图中使用AutoLayout,我知道setFrame方法无法正常工作。在我的CATextLayer框架中,小于self.lblIntPart .So,如何向TextLayer添加约束或使用与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"];
答案 0 :(得分:0)
在尝试重现您的问题之后,我理解这一点。
可能你的Label框架很大,默认的CATextLayer字体属性不完全适合框架。
尝试调整CATextLayer的属性。
[intValueLayer setFont:(__bridge CFTypeRef)([UIFont systemFontOfSize:17])];
[intValueLayer setFontSize:17];
如果您按原样使用标签,则匹配属性。