天天看点

iOS:UIView的block函数实现转场动画---双视图

使用UIView动画函数实现转场动画——双视图

+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion;

参数说明:

–duration:动画的持续时间

–options:转场动画的类型

–animations:将改变视图属性的代码放在这个block中

–completion:动画结束后,会自动调用这个block

方法调用完毕后,相当于执行了下面两句代码:

// 添加toView到父视图

[fromView.superview addSubview:toView];

// 把fromView从父视图中移除

[fromView removeFromSuperview];

具体实例如下:

实现功能:创建两个子视图view1和view2,分别设置不同的背景颜色,并把它们添加到父视图中,然后创建触摸点击手势,

每次触摸屏幕时,两个视图交替切换显示,即实现转场动画。

代码如下:

//声明属性

iOS:UIView的block函数实现转场动画---双视图
iOS:UIView的block函数实现转场动画---双视图

//初始化,创建两个子视图,同时创建触摸点击手势并添加手势事件

iOS:UIView的block函数实现转场动画---双视图
iOS:UIView的block函数实现转场动画---双视图

//处理触摸点击手势事件,在block函数中实现双视图转场动画

iOS:UIView的block函数实现转场动画---双视图
iOS:UIView的block函数实现转场动画---双视图

演示结果如下:

开始时:

iOS:UIView的block函数实现转场动画---双视图

点击后:

iOS:UIView的block函数实现转场动画---双视图
iOS:UIView的block函数实现转场动画---双视图

动画结束后:

iOS:UIView的block函数实现转场动画---双视图

还可以接着点击,会变为绿色视图,就不一一演示了。

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!