pushbackDemo(Modalview present)

//
//  RootViewController.m
//  PushBackDemo
//
//  Created by huangyibiao on 14-8-22.
//  Copyright (c) 2014骞� Uni2Uni. All rights reserved.
//

#import "RootViewController.h"

@interface RootViewController () {
    UIView *_modalView;
    UIView *_bgView;
}

@end

@implementation RootViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    CGFloat y = [UIDevice currentDevice].systemVersion.integerValue >= 7 ? 64 : 0;
    _bgView = [[UIView alloc] initWithFrame:self.view.bounds];
    _bgView.frame = CGRectMake(0, y, self.view.bounds.size.width, self.view.bounds.size.height);
    _bgView.backgroundColor = [UIColor greenColor];
    [self.view addSubview:_bgView];
    
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    [btn setTitle:@"鏄剧ず" forState:UIControlStateNormal];
    [btn setFrame:CGRectMake(100, 50, 120, 30)];
    [btn addTarget:self action:@selector(show) forControlEvents:UIControlEventTouchUpInside];
    [_bgView addSubview:btn];
    
    _modalView = [[UIView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height, 320, 250)];
    [self.view addSubview:_modalView];
    _modalView.backgroundColor = [UIColor redColor];
    
    btn = [UIButton buttonWithType:UIButtonTypeCustom];
    [btn setTitle:@"闅愯棌" forState:UIControlStateNormal];
    [btn setFrame:CGRectMake(100, 50, 120, 30)];
    [btn addTarget:self action:@selector(hide) forControlEvents:UIControlEventTouchUpInside];
    [_modalView addSubview:btn];
    return;
}

- (void)hide {
    _bgView.userInteractionEnabled = YES;
    [UIView animateWithDuration:0.3 animations:^{
        _bgView.alpha = 0.35;
    } completion:^(BOOL finished) {
        [UIView animateWithDuration:0.3 animations:^{
            _bgView.transform = CGAffineTransformMakeScale(1.0, 1.0);
            self.navigationController.navigationBar.transform = CGAffineTransformMakeScale(1.0, 1.0);
            _modalView.alpha = 0.0;
            
            _modalView.frame = CGRectMake(0, _bgView.frame.size.height,
                                          _modalView.frame.size.width,
                                          _modalView.frame.size.height);
            _bgView.alpha = 1.0;
            CGFloat y = [UIDevice currentDevice].systemVersion.integerValue >= 7 ? 64 : 0;
            _bgView.frame = CGRectMake(0, y, 320, _bgView.frame.size.height);
        }];
    }];
}

- (void)show {
    _bgView.userInteractionEnabled = NO;
    [UIView animateWithDuration:0.3 animations:^{
        _modalView.alpha = 1;
        _modalView.frame = CGRectMake(0, _bgView.frame.size.height - _modalView.frame.size.height, _modalView.frame.size.width, _modalView.frame.size.height);
        _bgView.alpha = 0.35;

    } completion:^(BOOL finished) {
        [UIView animateWithDuration:0.3 animations:^{
                    _bgView.frame = CGRectMake(0, _bgView.frame.origin.y - 64 * 0.5, 320, _bgView.frame.size.height);
            _bgView.transform = CGAffineTransformMakeScale(0.9, 0.9);
            self.navigationController.navigationBar.transform = CGAffineTransformMakeScale(0.9, 0.6);
            _bgView.alpha = 0.5;
        }];
    }];
}

@end

你可能感兴趣的:(pushbackDemo(Modalview present))