模态视图的进入和关闭

我们切换视图, 一般使用两种方法, 一种是push和pop, 另一种则是模态推出;
push和pop的方法我们使用较多, 不过这个方法却有着一定的限制, 那就是当我们未曾设置导航控制器的时候, 这个方法是无法使用的,
而模态推出则没有这个限制.

模态推出使用起来非常的简单, 它只有两个方法, 一个是显示模态视图
presentViewController:animated:completion,
一个是关闭模态视图 dismissViewControllerAnimated:completion

具体使用如下所示:

1.显示模态视图

我们设置一个触发方法的button -> modelButton

[modelButton addTarget:self action:@selector(presentModel)
forControlEvents:UIControlEventTouchUpIns

ide];

- (void)presentModel {
   
ModelViewController *modelVC = [[ModelViewController alloc]
init];
    [self presentViewController:ModelVC animated:YES
completion:^{

}];
}

2.关闭模态视图

我们设置一个触发关闭方法的button -> dismissButton

[dismissButton addTarget:self action:@selector(dismissModel)
forControlEvents:UIControlEventTouchUpInside];

- (void)dismissModel {
    [self dismissViewControllerAnimated:YES
completion:^{

}];
}

时间: 2024-08-26 13:27:43

模态视图的进入和关闭的相关文章

模态视图(IOS开发)

模态:模态视图从屏幕下方滑出来,完成的时候需要关闭这个模态视图,如果不关闭,就不能做别的事情,必须有响应处理的含义. 主视图控制器--->模态视图控制器.主视图控制器与模态视图控制器之间为父子关系. UIViewController类中,主要有以下两个方法: presentViewController:animated:completion  呈现模态视图 dismissViewControllerAnimated:completion 关闭模态视图 代码: ViewController.h #

视图控制器和导航模式一(模态视图,平铺导航)

视图控制器的种类 UIViewController.用于自定义视图控制器的导航.例如,对于两个界面的跳转,我们可以用一个UIViewController来控制另外两个UIViewController. UINavigationController.导航控制器,它与UITableViewController结合使用,能够构建树形结构导航模式. UITabBarController.标签栏控制器,用于构建树标签导航模式. UIPageViewController.呈现电子书导航风格的控制器 UISp

iOS 利用模态视图实现带黑色蒙版的底部弹窗

本demo仅适用于iOS8及以上系统. 本文将使用autolayout+storyboard来实现弹窗 第一步.storyboard创建界面 1.打开storyboard 拖一个UIViewcontroller出来,并与class相关联 2.拖出一个UIView作为弹窗视图的容器,容器里放置弹窗的内容,容器高度根据具体需求放置.容器放在最底部 3.放置一个UIButton在容器View的上方间距为0,并把UIButton设置为黑色(用于实现蒙版效果及点击空白处关闭弹窗) 4.约束.底部容器打le

视图控制器、模态视图

一.什么是试图控制器? 视图控制器就是用来管理视图的加载.卸载.横屏竖屏显示等操作的控制器. 每一个界面都会由一个控制器来管理显示 ,单独的界面view需要视图控制器这个载体来管理显示. UIViewController是所有视图控制器的父类 . iOS提供了许多内置的视图控制器类,以支持标准的用户界面部分,比如导航控制器 (UINavigationController),标签栏控制器(UITabBarController),表视图控制器 (UITableViewController)等 . 每

dismissViewController实现多个模态视图跳转

最近实现的一个需求需要用到模态视图,所以少不了与dismissViewController方法打交道.本文主要讲一讲在使用dismissViewController方法过程中遇到的那些坑. 由于业务逻辑比较特殊,程序中需要在A试图控制器中present B试图控制器的视图,B视图控制器需要present C视图控制器中的视图.最后从C直接返回A. dismissViewControllerAnimated方法并不难用,其原型为: - (void)dismissViewControllerAnim

MPMoviePlayerViewController的使用 (不直接将播放器放到主视图控制器,而是放到一个内部模态视图控制器中)

其实MPMoviePlayerController如果不作为嵌入视频来播放(例如在新闻中嵌入一个视频),通常在播放时都是占满一个屏幕的,特别是在 iPhone.iTouch上.因此从iOS3.2以后苹果也在思考既然MPMoviePlayerController在使用时通常都是将其视图 view添加到另外一个视图控制器中作为子视图,那么何不直接创建一个控制器视图内部创建一个MPMoviePlayerController属性并且默 认全屏播放,开发者在开发的时候直接使用这个视图控制器.这个内部有一个

模态视图(转)

转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/8127894 作者:张燕广 模态视图不是专门的某个类,而是通过视图控制器的presentViewController方法弹出的视图,我们称为模态视图. 模态视图出现的场景一般是临时弹出的窗口,譬如:登录窗口: 模态视图弹出时通过对视图对象的modalTransitionStyle来设置动画效果: 在弹出的视图中使用dismissViewControllerAnimated

iOS开发 - 在SwiftUI中显示模态视图

在SwiftUI中显示模态视图 简介 这里教大家如何弹出一个简单的模态视图.分别有两个页面,ContentView和GCPresentedView,以下对应简称为A和B.我们要做的是在A视图中点击按钮跳转到B视图,然后再从B视图点击按钮返回到A视图. 步骤 在A视图中创建按钮和模态视图代码 struct ContentView: View { @State var isPresented = false var body: some View { Button(action: { self.is

0527.模态视图的概念以及显示、变换方式介绍

学几个单词 dissolve  [d?'z?lv] vi. 溶解:解散 curl  [k??l]  vi. 卷曲 什么是模态视图? 比如UIAlertView,它就是一个模态视图.对于模态视图和普通视图最主要的区别就是模态视图显示的时候不能对其他视图进行操作.主要用来收集或显示一些信息. 思考:弹出警告框的时候,背景视图变暗不能操作,所以说警告框就是一个模态视图. Presentation Style(显示方式) 对于iPhone来讲Presentation Style始终是UIModalPre