实现了iOS的一种页面切换效果,可以将界面一和界面二的某个控件关联起来,达到平移过渡的效果,具体如下。
将MFAnimationTransitionMigrate文件夹拖入工程中。
#import "UIViewController+MFAnimationTransitionMigrate.h"
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self mf_registerNavigationControllerDelegate];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self mf_removeNavigationControllerDelegate];
}
- (void)viewDidLoad {
[super viewDidLoad];
[self mf_enablePopInteractivePopTransition];
}
在界面一中的imageView1设置标签:
[self mf_setMigrateSourceView:imageView1 withTag:@"imageView"];
在界面二中的imageView2设置标签:
[self mf_setMigrateTargetView:imageView2 withTag:@"imageView"];
这样就把imageView1和imageView2关联起来,在push动画执行的时候,可以看到两个控件之间会产生过渡动画。
1.动画的实现是基于frame的计算,因此界面的实现最好是基于frame。
2.在设置关联的时候,如果同个界面的tag相同,会相互覆盖,以最后一个为准。