小编Leo*_*rey的帖子

CABasicAnimation - 变换比例保持在中心

尝试在UIView上屏蔽椭圆的动画以进行比例变换,保留在中心位置.

我发现的CALayer - CABasicAnimation不是围绕中心/ anchorPoint缩放,并随后加入一个bounds属性到maskLayer CAShapeLayer然而,这与面罩定位在只显示它的1/4左上角结束.我希望面具保持在屏幕的中心.

@synthesize maskedView;
- (void)viewDidLoad
{
    [super viewDidLoad];
    UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"Next"];

    vc.view.frame = CGRectMake(0,0, self.view.frame.size.width, self.view.frame.size.height);
vc.view.layer.bounds = self.view.layer.bounds;

    CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];

    CGRect maskRect = CGRectMake((self.view.frame.size.width/2)-50, (self.view.frame.size.height/2)-50, 100, 100);
    CGMutablePathRef path = CGPathCreateMutable();
    CGPathAddEllipseInRect(path, nil, maskRect);
    [maskLayer setPath:path];

    CGPathRelease(path);

    vc.view.layer.mask = maskLayer;
    [self.view addSubview:vc.view];

    maskedView = vc.view;
    [self startAnimation];
}
Run Code Online (Sandbox Code Playgroud)

动画...

-(void)startAnimation
{
    maskedView.layer.mask.bounds = CGRectMake((self.view.frame.size.width/2)-50, (self.view.frame.size.height/2)-50, 100, 100);
    maskedView.layer.mask.anchorPoint = CGPointMake(.5,.5);
    maskedView.layer.mask.contentsGravity = …
Run Code Online (Sandbox Code Playgroud)

core-animation core-graphics mask catransform3d ios

20
推荐指数
4
解决办法
3万
查看次数

CATransform3DMakeRotation在动画期间隐藏了UIView的一半

使用带有CATransform3DMakeRotation的以下UIView动画,UIView的一半将在变换期间消失并在完成时重新出现.这只发生在界面构建器的视图层次结构中UIView后面的UIImageView时.

[UIView animateWithDuration:1.0 delay:0.0 options:nil animations:^{
        myView.layer.transform = CATransform3DMakeRotation(M_PI,0.0,1.0,0.0);
    } completion:nil];
Run Code Online (Sandbox Code Playgroud)

以下是界面构建器中的视图布局

Interface Builder布局

以及下面的动画结果.

在此输入图像描述

第二张图像是在任何动画发生之前,左半部分消失.收缩后,经过中心点后,右侧(前一个左侧)重新出现,如第四张图所示.

使用时设置背景图像

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"jeans.png"]];
Run Code Online (Sandbox Code Playgroud)

动画按预期完成.

xcode core-animation interface-builder ios catransform3drotate

11
推荐指数
1
解决办法
1689
查看次数

动画Android Ring Shape的扫描角度

尝试为Android Ring Shape设置动画,以产生与所示图像序列类似的效果.

预期的动画

我找到了Shape Drawable类型的戒指.

<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring"
android:innerRadius="75dp"
android:thickness="25dp"
android:useLevel="false">
Run Code Online (Sandbox Code Playgroud)

随着ArcShape(startAngle,sweepAngle)方法.

ShapeDrawable shape = new ShapeDrawable(new ArcShape(0, 360));     
shape.setIntrinsicHeight(100);
shape.setIntrinsicWidth(100);
shape.getPaint().setColor(Color.BLACK);
Run Code Online (Sandbox Code Playgroud)

然而,问题在于无法找到可绘制形状的扫掠角度属性或为ArcShape创建内半径的能力.

我试图制作一个流畅的动画.

java android android-animation android-layout shapedrawable

9
推荐指数
2
解决办法
6957
查看次数

REST API设计-提取余额操作

目前正在设计一个 REST API,并且不确定如何最好地处理提款操作,出于发布忽略安全性的目的,因为这已经得到处理。

当前用户资源有一个平衡连接,

GET https://api.example.com/user/1/balance

{"balance":10}
Run Code Online (Sandbox Code Playgroud)

将返还用户余额

我可以想到两种方式从该余额中提取,要么在余额连接上删除,要么通过新连接提取,然后将金额发布到该连接。

DELETE实施 - 撤回 5 分

DELETE https://api.example.com/user/1/balance?amount=5

{"balance":5}
Run Code Online (Sandbox Code Playgroud)

POST实施 - 提现 5 分

POST https://api.example.com/user/1/withdraw
HTTP BODY: amount=5

{"balance":5}
Run Code Online (Sandbox Code Playgroud)

建议?

就我个人而言,我会在提款连接上使用POST,因为这将操作与数据分开,然后可以使用GET获取提款交易并使用DELETE取消。

更新

另一种方法可能是在余额对象上创建交易连接,然后对其进行POST 。

POST https://api.example.com/user/1/balance/transactions
HTTP BODY: amount=-5

{"balance":5}
Run Code Online (Sandbox Code Playgroud)

这是一个更好的方法吗?然后,这将在余额资源上创建事务资源。

rest http restful-architecture

2
推荐指数
1
解决办法
1793
查看次数