回到顶部

iOS常用类方法

首页>iOS相关>iOS常用类方法到顶了

目录:

代码部分:


    typedef NS_ENUM(NSInteger,fangxiang){//模拟动画的方向
    left,
    top,
    right,
    bottom,
    situ,
    };
    //宏定义
    #define SCREEN_RECT ([UIScreen mainScreen].bounds)
    #define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
    #define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)
    //具体实现方法
    + (void)switchRootVC:(UIViewController *)vc nowVC:(UIViewController *)SVC fangxiang:(fangxiang)fangxiang{
    CGRect rect;
    switch (fangxiang) {
        case left:
            rect = CGRectMake(SCREEN_WIDTH, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
        break;
        case top:
            rect = CGRectMake(0, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT);
        break;
        case right:
            rect = CGRectMake(-SCREEN_WIDTH, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
        break;
        case bottom:
            rect = CGRectMake(0, -SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT);
        break;
        default:
            rect = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
        break;
    }
    [UIView animateWithDuration:0.2 animations:^{
        SVC.view.frame = rect;
    } completion:^(BOOL finished) {
        if (finished) {
            [UIApplication sharedApplication].keyWindow.rootViewController = vc;
        }
    }];
    }
    //调用方法,举例:
    ADViewController *vc = [[ADViewController alloc]init];
    [method switchRootVC:vc nowVC:self.navigationController fangxiang:left];

待续~~~