界面跳转系列一:push和modal

一、介绍(基础操作忽略)

push:是针对在Navigation(导航栏)下使用的
modal:模态窗口(只能对这个窗口操作,点击其他窗口没有响应的), 是可以在任何控制器使用的,主要有两种:
1.窗口弹出(弹出后,后面的视图不可用的,比如A弹出B,A不可用)
2.控制器的跳转

二、使用

1、push必须在Navigation下使用、

Paste_Image.png

解释:按ctrl进行连线,分别连出push和modal

Paste_Image.png

问题:点击push,报错
原因:因为push必须在Navigation下使用,我这个没有在这个环境下

2、如果没有在Navigation下使用modal是可以跳转的,而且还不需要任何代码

那么在使用modal怎么做出Navigation的效果呢?

Paste_Image.png
Paste_Image.png

Paste_Image.png

效果:这样就可以返回到主视图了
注意:dismissViewControllerAnimated这个方法并不算返回上一层,正确的说是将现有视图隐藏,自然就会显示出上一层的视图出来,从而达到返回上一层的效果

3、实现不连线跳转

Paste_Image.png
Paste_Image.png

然后再主视图的.m文件写上这个代码,注意,刚才modal的连线要去掉

Paste_Image.png
- (IBAction)modalClicked:(UIButton *)sender {
    
    UIStoryboard *storyboard = self.storyboard;
    
    FirstViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"jump"];
    
    
    [self presentViewController:vc animated:YES completion:nil];
}

方便copy,附上代码

4、presentViewController 跳转 后视图是黑色

testViewController *vc = [[testViewController alloc] init];
 [self presentViewController:vc animated:YES completion:nil];

解析:如果用以上的方法跳转,那么跳转后的视图是黑色的
原因:我觉得操作跳转是成功了,确实跳转到了指定的控制器,但是我们的控制器视图的显示是故事版绘制的,所以我们只是跳转了控制器,但是并没有找到指定的故事版把视图绘制出来
解决

UIStoryboard *storyboard = self.storyboard;

 FirstViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"jump"];

 [self presentViewController:vc animated:YES completion:nil];

这样才可以成功

5、代码操作

1.Navigation下操作:

//跳转到指定id的控制器(这里的id是指在故事板里设置控制器的id)
    [self.navigationController pushViewController:vc animated:YES];
//返回到上一层视图
    [self.navigationController popViewControllerAnimated:YES];
// 返回到根视图
    [self.navigationController popToRootViewControllerAnimated:YES];

这里,同样有个问题,操作不当,就会出现跳转后黑色的情况

// 创建控制器对象要用这种方法创建
UIStoryboard *storyboard = self.storyboard;

 FirstViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"jump"];

// 如果用这种,就会出现跳转后黑色
FirstViewController *vc = [[FirstViewController alloc] init];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容