动画笔记-反pop

向下展示另一控制器的视图View,而不是直接展示一个单纯View。因为目的是用MVC思想将更多的处理逻辑交给弹出View的控制器去处理。
不知道有没有更好的方式,记录下自己的简单处理以便日后查阅。


效果

动画笔记-反pop_第1张图片
反POP效果.gif

button是自定义然后添加给对应titleView.
button响应:

-(void)showRemoteControl:(UIButton *)button{
    //初始化RemoteControl的控制器生命周期
    DFRemoteControlViewController * remoteControlVC = [[DFRemoteControlViewController alloc]init];
    remoteControlVC.view.frame = CGRectMake(0, -screenH, screenW, screenH);
    self.remoteControlVC = remoteControlVC;

    [UIView animateWithDuration:0.3f animations:^{
        CGRect frame = self.remoteControlVC.view.frame;
        frame.origin.y = 0.f;
        [self.remoteControlVC.view setFrame:frame];
        HBKeyWindow.rootViewController = self.tabBarController;
        //将根控制器的视图加到应用程序主窗口
        [HBKeyWindow addSubview:self.remoteControlVC.view];
    }];
}

另一控制器的返回button响应中:

-(void)disapperRemoteControl:(UIButton *)button{
    [UIView animateWithDuration:0.3f animations:^{
        self.view.hb_x = 0;
        self.view.hb_y = -screenH -1;
//        [HBKeyWindow removeFromSuperview];
    }];
}

The End.

你可能感兴趣的:(动画笔记-反pop)