#pragma mark - Animation code block
- (void)exchangeViewWithAnimation:(UIView *)view changeView:(UIView *)sView withView:(UIView *)eView animationType:(NSInteger)type
{
NSUInteger sv = [[view subviews] indexOfObject:sView];
NSUInteger ev = [[view subviews] indexOfObject:eView];
CGContextRef context = UIGraphicsGetCurrentContext();
[UIView beginAnimations:nil context:context];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:1.0];
switch (type) {
case 0:
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:view cache:YES];
[view exchangeSubviewAtIndex:sv withSubviewAtIndex:ev];
break;
case 1:
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:view cache:YES];
[view exchangeSubviewAtIndex:sv withSubviewAtIndex:ev];
break;
default:
break;
}
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationFinished:)];
[UIView commitAnimations];
}
//动画效果执行完毕
- (void) animationFinished: (id) sender{
NSLog(@"animationFinished !");
}
分享到:
相关推荐
本篇将详细讲解"swift-一个辅助类来实现两个UIView之间的粘结效果"这一主题,以及如何利用名为`DGCuteHelper`的开源库来实现这种效果。 `DGCuteHelper`是一个专门为Swift开发者设计的轻量级动画库,它的主要功能是...
首先,我们来了解UIView动画的基本概念。UIView类提供了动画支持,通过调用其`animateWithDuration:animations:`方法,我们可以创建一系列连续的变化,这些变化在指定的时间内以平滑的方式进行。对于翻转动画,我们...
在iOS应用开发中,"按钮切换两个视图"是一个常见的需求,主要涉及到用户界面交互和视图控制器的管理。在本示例中,我们通过一个按钮实现对两个控制器(视图)之间的切换,允许开发者根据自己的需求进行自定义。下面...
本篇文章将深入探讨如何仿照iPhone中的视图切换翻转动画,实现两个`UIView`之间的平滑过渡。这个动画效果常见于苹果原生应用中,如联系人、日历等,在用户切换视图时,视图会像卡片一样翻转,增加用户体验的趣味性和...
本文主要探讨了两个主要的动画类型:转场动画和组动画,并涉及到了UIView的封装动画。这两种动画都是基于Core Animation框架实现的,利用CAAnimation类和UIView类来创建丰富的视觉效果。 一、转场动画 转场动画...
如果想要实现更个性化的页面切换,我们还可以使用`UIViewController`的`presentViewController:animated:completion:`和`dismissViewControllerAnimated:completion:`方法,这两个方法可以用来呈现和隐藏控制器,...
在这个案例中,我们不是传统的开关,而是两个可以互相切换的按钮,模拟了开关的效果,同时带有视觉反馈的游标动画。 实现这种游标切换动画通常涉及以下关键知识点: 1. **Auto Layout**:为了确保视图在不同屏幕...
这个协议包含两个主要方法:`animateTransition(_:)`用于执行动画,`animationDuration(for:)`用于指定动画的持续时间。 首先,我们需要创建一个遵循`UIViewControllerAnimatedTransitioning`协议的类,并实现其...
:animated:completion:)`和`dismiss(animated:completion:)`**:当你需要模态地展示或关闭控制器时,可以利用这两个方法,并传递一个自定义的`UIPresentationController`子类来控制呈现和消失的动画。 4. **`...
同时,结合`CADisplayLink`或者`NSTimer`可以实现持续的动画循环,比如在用户未做出选择时,游标持续在两个选项之间滑动。 在实际项目中,可能还需要考虑其他的细节,例如适配不同的屏幕尺寸、处理多个游标或者复杂...
"两个不同的数字之间无缝切换效果"是一个重要的设计概念,它涉及到用户界面(UI)的优化和用户体验(UX)的提升。这个效果通常用于时间显示,如时钟、倒计时器或计时器等应用,确保用户可以直观、流畅地获取信息。 ...
本资源提供了两种不同的图片切换特效:左右切换和上下滚动,这些都是iOS应用中常用的设计模式,用于提升用户体验。源码分析将帮助我们深入理解如何实现这些效果。 1. 左右切换特效: 左右切换通常是通过水平滑动来...
卡片翻转动画通常用于展示两个不同视图之间的过渡,比如在列表项被点击后显示详细信息,或者在切换页面时展示不同的内容。在iOS中,这种动画可以通过UIKit框架中的`UIView`类提供的动画方法来实现。以下是一些关键...
本示例源码“两个图片切换特效:左右切换上下滚动”提供了一个适用于毕业设计学习的实践案例,可以帮助开发者掌握如何在iOS应用中实现动态图片切换效果,增强用户体验。这个项目特别适合那些正在准备毕业设计或撰写...
5. **UIPropertyAnimator**与**UIDynamicAnimator**:在iOS 10及以上版本中,Apple引入了这两个新类,它们提供了更现代的动画编程模型。UIPropertyAnimator允许连续地调整动画属性,而UIDynamicAnimator则基于物理...
1. **UIViewController的transitioningDelegate**:当我们在两个UIViewController之间进行切换时,可以通过设置`transitioningDelegate`来定制过渡动画。`transitioningDelegate`遵循`...
3. **UIView动画**: 利用`UIView`的`animate(withDuration:animations:)`方法,可以创建一个3D转换的动画。在动画块内,可以设置视图的`transform`属性,将其转换为`CATransform3D`类型,然后应用3D旋转或其他变换...
这个“IOS应用源码——两个图片切换特效:左右切换上下滚动.rar”压缩包中,包含了两种不同的图片切换效果实现,它们分别是左右切换和上下滚动。这些特效通常用于应用的轮播图、广告展示或产品展示等场景。 1. 左右...
5. **动画效果**:除了基础的切换方式,我们还可以自定义动画来实现独特的视图切换效果,如使用UIView动画、Core Animation或CAKeyframeAnimation等,创建更丰富的视觉体验。 6. **第三方库**:在iOS社区中,有许多...
7. **数据源和代理**: 为了动态加载图片和控制滚动行为,开发者可能会遵循`UIScrollViewDataSource`和`UIScrollViewDelegate`协议,这两个协议定义了与`UIScrollView`相关的数据提供和事件处理方法。 8. **代码组织...