首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NSView从外部视图中使用NSAnimation移动一个自动收费表

使用NSView从外部视图中使用NSAnimation移动一个自动收费表
EN

Stack Overflow用户
提问于 2016-06-14 17:03:15
回答 1查看 225关注 0票数 0

我正在使用自动布局在我的项目,并有一个‘详细的视图’幻灯片上的‘瓷砖视图’的按钮按下。

‘瓷砖视图’是对齐的顶部,底部,左和右。“详细视图”与中心x、y对齐,宽度/高度相等。

我得到了动画的工作,但我不得不使用两种不同的方法:

1)这是我最喜欢的动画制作方法,在“瓷砖视图”上工作得很好。

代码语言:javascript
复制
CAKeyframeAnimation* tileKeyAnimation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
tileKeyAnimation.fillMode = kCAFillModeForwards;
tileKeyAnimation.removedOnCompletion = NO;
tileKeyAnimation.keyTimes = @[@0,@0.45];
tileKeyAnimation.values   = @[[NSValue valueWithCATransform3D:CATransform3DIdentity],
                              [NSValue valueWithCATransform3D:self.tileTransform]];
tileKeyAnimation.duration = 0.5;
[_tileView.layer addAnimation:tileKeyAnimation forKey:@"transform"];

2)由于以上动画并不适用于“详细视图”,所以我采用了另一种类型的动画。(我为centreX约束创建了一个名为_detailedCenterXConstraint的出口)

代码语言:javascript
复制
_detailedCenterXConstraint.constant = _tileView.bounds.size.width;

[NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) {
    [context setTimingFunction:[[CAMediaTimingFunction alloc] initWithControlPoints:0 :0 :0 :0.45]];
    [context setDuration:[self pushAnimationDuration]];
    [_detailedCenterXConstraint.animator setConstant:_detailedView.bounds.size.width];
} completionHandler:^{
}];

这种方法的问题是动画并不匹配。我尝试在(2)中使用自定义的CAMediaTimingFunction来匹配(1)中的动画计时,但我似乎没有正确地使用它。

为什么CAKeyframeAnimation (1)不应该在我的“详细视图”上工作?

另外,这两种方法之间是否有一种匹配动画时间的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-15 10:16:34

我成功地获得了与以下代码相同的动画:

代码语言:javascript
复制
[NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) {
    [context setTimingFunction:0.45 :1.0 :0.45 :1.0];
    [context setDuration:[self pushAnimationDuration]/2];
    [_detailedCenterXConstraint.animator setConstant:_detailedView.bounds.size.width];
} completionHandler:^{
}];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37818125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档