如何制作圆形动画缩放,但保持圆的中心位置在同一点.此代码使圆的中心向下和向右移动,看起来像是在框架的顶部和左侧边界.
您可以在另一个图层上看到该图层.
CGMutablePathRef path = CGPathCreateMutable();
CGPathAddEllipseInRect(path, nil, CGRectMake(400, 400, 1000, 1000));
CAShapeLayer *shapeLayer = [[CAShapeLayer alloc] init];
[shapeLayer setPath:path];
[shapeLayer setFrame:[glView frame]];
[shapeLayer setFillColor:[[UIColor blackColor] CGColor]];
[[glView layer] setMask:shapeLayer];
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
animation.fromValue = [NSValue valueWithCATransform3D:CATransform3DMakeScale(0.0, 0.0, 0)];
animation.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)];
animation.repeatCount = 1;
animation.removedOnCompletion = NO;
animation.fillMode = kCAFillModeForwards;
animation.duration = 3;
[shapeLayer addAnimation:animation forKey:@"transform.scale"];
Run Code Online (Sandbox Code Playgroud) 我们为每个配置使用具有不同plist的设置.像这样: Target-Info-Dev.plist,Target-Info-Beta.plist ......
这样我们的配置可以拥有自己的CFBundleDisplayName,我们可以通过设备上的app-name来区分构建.像这样:"DEV Appname","BETA Appname"......
但是,现在我们需要本地化app-name.我们通过为每个目标创建本地化的InfoPlist.strings来完成此操作:
"CFBundleDisplayName" = "<localized-appname>";
"CFBundleName" = "<localized-appname>";
Run Code Online (Sandbox Code Playgroud)
但由于CFBundleDisplayName不再从Target-Info- [Configuration] .plist派生,我们无法区分不同配置的app-name.
应该注意的是,对于同一个应用程序的不同品牌,我们也有几个目标,但我们已经通过为每个目标创建单独的InfoPlist.strings来实现这一目标.
任何人都知道如何完成本地化和基于配置的应用程序名称?
configuration localization ios info-plist cfbundledisplayname