首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建像transitionWithView块一样的自定义动画

创建像transitionWithView块一样的自定义动画
EN

Stack Overflow用户
提问于 2015-11-19 19:03:52
回答 1查看 375关注 0票数 0

我正在使用transitionWithView动画块来动画视图。当用户向左或向右滑动视图时,将调用此块。它工作得很好。但是我想创建我自己的自定义动画,就像视图从左向右改变一样。我不知道如何做到这一点。在UIViewAnimationOptions中,我使用UIViewAnimationOptionTransitionCurlUp进行从右向左的滑动,使用UIViewAnimationOptionTransitionCurlDown进行从左向右的滑动。

代码语言:javascript
运行
复制
[UIView transitionWithView:self.view duration:0.6 options:UIViewAnimationOptionTransitionCurlUp animations:^{
        setDataInLayout();
    } completion:^(BOOL finished) {
        [scrollViewContent setContentOffset:CGPointZero animated:YES];
        [self.delegate updatePaginationCounter:_currentStoneIndex];
    }];
EN

回答 1

Stack Overflow用户

发布于 2015-11-19 20:15:24

你必须自己实现这个动画。我会使用UIView动画API,如下所示:

代码语言:javascript
运行
复制
UIView.animateWithDuration(0.6, animations: {
    // apply 2D transformation to the view, or use any other animatable property
    self.view.transform = CGAffineTransformMakeRotation(fullRotation)
} completion: {finished in
        // you completion block    
})

这是UIView的动画属性的list。对于更复杂的动画,可以使用基于关键帧的动画:

代码语言:javascript
运行
复制
UIView.animateKeyframesWithDuration(duration, delay: delay, options: options, animations: {
// add your keyframe animations here

UIView.addKeyframeWithRelativeStartTime(0, relativeDuration: 1/2, animations: {
    self.view.transform = ...
})
UIView.addKeyframeWithRelativeStartTime(1/3, relativeDuration: 1/2, animations: {
    self.view.transform = ...
})

}, completion: {finished in
    // completion block
})
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33802102

复制
相关文章

相似问题

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