iOS基础-UIKit框架-多控制器管理-Modal

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即可,取消需要通过代码

时间: 2024-11-03 22:40:14

iOS基础-UIKit框架-多控制器管理-Modal的相关文章

iOS基础-UIKit框架-多控制器管理-UINavigationController

一.导航控制器基本使用多控制器 导航控制器 导航控制器的简单使用1.创建一个空项目2.创建导航控制器nav3.设置导航控制器为Window的根控制器4.新建3个控制器类管理这3个View(勾上also create xib)在xib中添加一个标签用来注明是第几个控制器,添加一个按钮用来跳转到下一个控制器5.创建第一个控制器并添加到导航控制器中[nav pushViewController:one animated:YES]:6.监听用来跳转到第二个的按钮并实现方法-(IBAction)jump2

iOS基础-UIKit框架-多控制器管理-UITabBarController

UITabBarController UITabBarController的简单使用 一.UITabBarController的创建(利用代码)1.新建一个空项目,在MJAppDelegate.m的didFinishLaunch...方法中//1.创建tabbar控制器UITabBarController *tabbarVc = [[UITabBarController alloc] init]: //2.设置为window的根控制器self.window.rootViewController

iOS基础-UIKit框架-多控制器管理-Segue

一.什么是Segue? 二.Segue的属性 三.Segue的类型 四.自动型Segue(控件->控制器) 五.手动型Segue(控制器->控制器) 六.performSegueWithIdentifier:sender:

iOS基础-UIKit框架-多控制器管理-控制器创建和控制器view的创建

掌握 一.控制器的多种创建方式如何创建一个控制器 通过storyboard创建注意:加载UIStoryboard仅仅是加载名称叫做Test的storyboard,并不会创建 storyboard中的控制器以及控件 通过xib创建注意:要想让xib里的view设置为所创建控制器的view,必须设置xib的File's owner 为所创建控制器.并且File's owner点右键将view连到xib里的view上.storyboard默认已经完成了上述操作 二.控制器view的创建方式1.没有同名

iOS基础-UIKit框架-高级视图-UIPickerView-实例3:国家选择(图片)

说明:事先已经准备好了一个NJCountry类,里面声明了2个属性name和icon,并 创建和实现了快速创建类的动态方法和静态方法.直接导入即可.0.创建一个plist文件,Root为Array,里面为字典(字典里为国家和国旗)1.加载这个plist文件1>声明数组属性 @property(nonatomic,strong)NSArray *countries:2>懒加载(在实现文件最后面)#pragma mark - 懒加载-(NSArray *)countries{if(_countri

iOS基础-UIKit框架-高级视图-UIPickerView-实例2:城市选择(列与列之间有关系)

说明:事先已经准备好了一个NJProvince类,里面声明了2个属性name和cities,并创建和实现了快速创建类的动态方法和静态方法.直接导入即可.0.创建一个plist文件,Root为Array,里面为字典(字典里为省份和城市)1.加载这个plist文件1>声明数组属性 @property(nonatomic,strong)NSArray *provinces:2>懒加载(在实现文件最后面)#pragma mark - 懒加载-(NSArray *)provinces{ if(_prov

iOS基础-UIKit框架-高级视图-UIPickerView-实例1:点菜(列与列之间无关系)

一.点菜0.创建一个plist文件,Root为Array,里面包含3个数组,每个数组有一堆食物名称加载这个plist文件1>声明数组属性 @property(nonatomic,strong)NSArray *foods:2>懒加载(在实现文件最后面)#pragma mark - 懒加载-(NSArray *)foods{ if(_foods == nil){ NSString *fullPath = [[NSBundle mainBundle] pathForResource:@"

iOS基础-UIKit框架-基础视图-UIScrollView

一.什么是UIScrollView? 二.UIScrollView的基本使用

IOS之--UI进阶-- 多控制器管理第一天

 iOS之--UI进阶-- 多控制器管理第一天 01-项目中常见的文件(LaunchScreen) Xcode5 框架是苹果事先已经导入进去的.在项目的结构当中就能够看到导入的框架. Xcode6 会自动导入一些觉见的框架.在项目结构当中,看不到已经导入的框架. LaunchScreen.xib:用来设置启动界面. Xcode7 会自动导入一些觉见的框架.在项目结构当中,看不到已经导入的框架. LaunchScreen.storyBoard LaunchScreen原理: 会自动加载Launch