在一个视图控制器中,加入了两个视图targetSubview和sourceSubview。targetSubview默认是隐藏的,sourceSubview默认是可见的。
现在,我有这样一个需求。通过手指下滑,将targetSubview从上向下拉入到屏幕中,同时,sourceSubview将随着从屏幕下方离开。两个视图同步进入和离开是同步操作,用动画来实现。
第一种方法,使用UIView的类方法transition来实现,
[UIView transitionFromView:sourceSubview toView:targetSubview duration:1.0 options:UIViewAnimationOptionTransitionFlipFromLeft completion:nil];
但,只能实现上下或左右翻转的效果,没有找到上下滑入滑出的效果。而且,该方法还将sourceSubview给remove掉了。
因此,这种方法不能满足要求。
第二种方法,使用使用UIView的类方法Animations来实现,是用delegate做一些前置或后置操作。
targetSubview.frame = CGRectMake(0, targetSubview.frame.size.height + 50, targetSubview.frame.size.width, targetSubview.frame.size.height);
[UIView beginAnimations:@"Anim1" context:nil];
[UIView setAnimatio
现在,我有这样一个需求。通过手指下滑,将targetSubview从上向下拉入到屏幕中,同时,sourceSubview将随着从屏幕下方离开。两个视图同步进入和离开是同步操作,用动画来实现。
第一种方法,使用UIView的类方法transition来实现,
[UIView transitionFromView:sourceSubview toView:targetSubview duration:1.0 options:UIViewAnimationOptionTransitionFlipFromLeft completion:nil];
但,只能实现上下或左右翻转的效果,没有找到上下滑入滑出的效果。而且,该方法还将sourceSubview给remove掉了。
因此,这种方法不能满足要求。
第二种方法,使用使用UIView的类方法Animations来实现,是用delegate做一些前置或后置操作。
targetSubview.frame = CGRectMake(0, targetSubview.frame.size.height + 50, targetSubview.frame.size.width, targetSubview.frame.size.height);
[UIView beginAnimations:@"Anim1" context:nil];
[UIView setAnimatio