{ let modalViewController = ModalViewController() // 设置UISheetPresentationController if let sheet = modalViewController.sheetPresentationController { // 支持的自定义显示大小 .large()] sheet.prefersGrabberVisible = true } present(modalViewController , animated: true) } } class ModalViewController: UIViewController { override func viewDidLoad
我们打算做一个简单的自定义的modalViewController的切换效果。 先定义一个ModalVC,以及相应的protocal和delegate方法: //ModalViewController.h @class ModalViewController; @protocol ) id delegate; @end //ModalViewController.m - (void)viewDidLoad { [super viewDidLoad]; // Do *mvc = [[ModalViewController alloc] init]; mvc.delegate = self; [self presentViewController 在刚才demo的基础上,这次我们用一个向上划动的手势来吧之前呈现的ModalViewController给dismiss掉~当然是交互式的切换,可以半途取消的那种。
在发送presentModalViewController: animated:消息后,一个新的视图控制器(其实是个ModalViewController)会滑动到屏幕并掌握控制权,直到使用dismissModalViewControllerAnimated 返回一个编辑按钮 • parentViewController:交视图控制器 • searchDisplayController:搜索显示控制器 • splitViewController:分割视图控制器 • modalViewController