模仿modal效果

来源:互联网 发布:网络直播游戏 编辑:程序博客网 时间:2024/05/18 17:40

1.准备2个控制器



2.

////  ViewController.m#import "ViewController.h"#import "TwoViewController.h"@interface ViewController ()/** *  注意这里是强引用 */@property(nonatomic,strong)UIViewController *presentVC;@end@implementation ViewController/* 注意:想要把一个控制器的view添加到当前控制器上,一定要保证这个控制器不要被销毁 */- (void)viewDidLoad {    [super viewDidLoad];}- (IBAction)modalButtonAction:(UIButton *)sender{    TwoViewController *twoVC = [[TwoViewController alloc] init];    twoVC.view.backgroundColor = [UIColor redColor];        // 强引用modal出来的控制器    self.presentVC = twoVC;        /*     模仿modal效果     modal出来的的控制器添加到窗口上面。     */    UIWindow *windown = [UIApplication sharedApplication].keyWindow;    [windown addSubview:twoVC.view];        // 设置twoVC的视图在界面底部外    twoVC.view.transform = CGAffineTransformMakeTranslation(0, self.view.bounds.size.height);    [UIView animateWithDuration:0.25 animations:^{        // 清空transform        twoVC.view.transform = CGAffineTransformIdentity;    }];    }@end
3.
////  TwoViewController.m#import "TwoViewController.h"@interface TwoViewController ()@end@implementation TwoViewController- (void)viewDidLoad {    [super viewDidLoad];}- (IBAction)dismissButtonAction:(UIButton *)sender{    // 设置twoVC的视图在界面底部外    [UIView animateWithDuration:0.25 animations:^{        self.view.transform = CGAffineTransformMakeTranslation(0, self.view.bounds.size.height);    }];}@end

演示效果:


0 0
原创粉丝点击