標籤:
Modal
Modal效果
一、Modal示範(代碼)
1.事前準備
1>建立一個空項目,刪除預設控制器檔案
2>自訂2個控制器,將ViewController的Class分別設定為這個類
3>建立一個window,將其根控制器設定為第一個自訂的控制器。
2.拖一個按鈕,監聽這個按鈕並實現方法(用來跳轉到第二個介面)
-(IBAction)jump{
//展示第二個控制器介面
MJTwoController *two = [[MJTwoViewController alloc] init];
[self presentViewController:two animated:YES completion:^{
//可以在展示完畢時做一些事情
}];
}
3.在第二個控制器View上拖一個按鈕,監聽這個按鈕並實現方法(用來回到第一個
介面)
-(IBAction)cancel{
[self dismissViewControllerAnimated:YES completion:^{
//可以在展示完畢時做一些事情
}];
}
4.過程:當點擊跳轉到第二個控制器View並完全顯示第二個View時,第一個View會
被移開(沒有被銷毀)。同理,當點擊取消時,會先將第一個View放回去,然後慢
慢移開第二個View,當完全顯示第一個View時,第二個控制器及其View會被銷毀
。
5.改進:Modal導航控制器
1>給一個控制器添加一個導覽列最快的方法就是給它套一層導航控制器
-(IBAction)jump{
//展示第二個控制器介面
MJTwoController *two = [[MJTwoViewController alloc] init];
UINavigationController *nav = [[UINavigationController alloc]
initWithRootViewController:two];
[self presentViewController:two animated:YES completion:^{
//可以在展示完畢時做一些事情
}];
}
2>在viewDidLoad中初始化一個Item,用來取消(回到第一個View),並實現方
法即可。
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]
initWithTitle:@“取消” style:UIBarButtonItemStyleDone target:self
action:@selector(cancel)];
二、Modal示範(storyboard)---連線選Modal即可,取消需要通過代碼
iOS基礎-UIKit架構-多控制器管理-Modal