***************************** 使用storyboard导航*********************************

storyboard方式相对简单。

在弹出来的选择框里选择跳转方式:

连接完成:

************************** 使用presentViewController导航 *************************

 // 建立一个继承自UIviewController的类secondViewController后

 secondViewController *second = [self.storyboard instantiateViewControllerWithIdentifier:@"// 写second这个viewController的storyboard属性名称,在右边的编辑器里可以编辑"]

 presentViewController:(UIViewController *) animated:(BOOL) completion:^(void)completion
 // 显示viewController

 // 也可以建立带xib的类,然后用
 initWithNibName:(NSString *) bundle:(NSBundle *)
 如:ThirdViewController *t = [[ThirdViewController alloc]initWithNibName:@"ThirdViewController" bundle:nil]

 // 然后再调用presentViewController方法

***************************** 使用UINavigationController导航 *************************

NavigationController使用栈结构。

NavigationControllerbar:比如新浪微博底部的导航条

看到 NavigationControlleritem :可以想到应该是一些自定义的东西

1. 首先在Supporting Files里的info.plist里将Main storyboard file base name对应的Main清除

2. 建立几个继承自UIViewController的类作为跳转资源

3. 在AppDelegate.m创建UIWindow实例,UIViewController实例,初始化根控制器

// AppDelegate.m

#import <AppDelegate.h>
#import "MyViewController1"
#import "MyViewController2"
#import "MyViewController3"
#import "MyViewController4"

@interface AppDelegate()

@end

@implementation AppDelegate

- (BOOL)applocation:(UIApplication *)application didLaunchingWithOptions:(NSDictionary *)launchOptions{
    UIScreen *screen = [UIScreen mainScreen];   // 得到当前屏幕大小

    self.window = [[UIWindow alloc]initWithFrame:screen.bounds];

    MyViewController1 *vc1 = [[MyViewController alloc]init];

    vc1.view.backgroundColor = [UIColor blueColor]; // 设置背景色

    UINavigationController *nc = [[UINavigation alloc]initWithRootViewController:];   //  实例化NavigationController

    self.window.rootViewController =nc;  // 使窗口根控制器为UINavigationController实例nc

    [self.window makeKeyAndVisible];   // 使窗口可见

    return YES;

@end

Navigation学习笔记的更多相关文章

  1. Learning ROS for Robotics Programming Second Edition学习笔记(十) indigo Gazebo rviz slam navigation

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 moveit是书的最后一章,由于对机械臂完全不知,看不懂 ...

  2. ROS进阶学习笔记(11)- Turtlebot Navigation and SLAM - ROSMapModify - ROS地图修改

    ROS进阶学习笔记(11)- Turtlebot Navigation and SLAM - 2 - MapModify地图修改 We can use gmapping model to genera ...

  3. Ionic2学习笔记(6):Navigation

    作者:Grey 原文地址: http://www.cnblogs.com/greyzeng/p/5551535.html           Ionic2中创建一个页面很方便,在页面之间相互切换也很方 ...

  4. Ionic2学习笔记(7):Input

    作者:Grey 原文地址: http://www.cnblogs.com/greyzeng/p/5554610.html           我们先来看一个简单的输入用户名和密码点击登录的界面:   ...

  5. Ionic2学习笔记(5):Provider

    作者:Grey 原文地址: http://www.cnblogs.com/greyzeng/p/5547646.html             Provider是一种为App提供数据源的方式, 举个 ...

  6. 烤鸭的Source Insight学习笔记

    如果你觉得这网页排版不好看,可以去下载我上传的word版:<烤鸭的Source Insight学习笔记.doc> http://download.csdn.NET/detail/benka ...

  7. javascripts学习笔记(五):用js来实现缩略语列表、文献来源链接和快捷键列表。

    1 缩略语列表问题出发点:一段包含大量缩略语的文本,例如: <p> The <abbr title="World Wide Web Consortium"> ...

  8. [原创]java WEB学习笔记59:Struts2学习之路---OGNL,值栈,读取对象栈中的对象的属性,读取 Context Map 里的对象的属性,调用字段和方法,数组,list,map

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  9. ActionBarSherlock的学习笔记(一) -------------- ActionBarSherlock的简要介绍

    1. 介绍 ActionBarSherlock 是Android compatibility library 的一个扩展, 不知道什么原因 Android 兼容开发包没有包含ActionBar. 所以 ...

随机推荐

  1. Redis学习手册(内存优化)

    自从Redis 2.2之后,很多数据类型都可以通过特殊编码的方式来进行存储空间的优化.其中,Hash.List和由Integer组成的Sets都可以通过该方式来优化存储结构,以便占用更少的空间,在有些 ...

  2. MySQL主主复制+LVS+Keepalived实现MySQL高可用性

    http://bestvivi.com/2015/09/09/MySQL%E4%B8%BB%E4%B8%BB%E5%A4%8D%E5%88%B6+LVS+Keepalived%E5%AE%9E%E7% ...

  3. Calendar类的基本使用

    import java.util.Calendar; public class CalendarDemo{ public static void main(String[] args) { Calen ...

  4. KafkaSpout 浅析

    最近在使用storm做一个实时计算的项目,Spout需要从 KAFKA 集群中读取数据,为了提高开发效率,直接使用了Storm提供的KAFKA插件.今天抽空看了一下KafkaSpout的源码,记录下心 ...

  5. js函数、表单验证

    惊天bug!!!在script里面只要有一点点错误,就都不执行了!!!所以每写一个方法,就跑一下,因为这个书写疏忽导致的bug不可估量!!! [笑哭,所以我才这么讨厌js么,后来真心的是一点都不想再看 ...

  6. kali2.0如何安装中文输入法

    由于kali的更新源是国外网站,替换成国内的镜像站,具体操作如下: 打开终端输入 leafpad /etc/apt/sources.list   把下面的源粘贴进去,原有内容注释掉 #中科大源deb  ...

  7. Eclipse下使用Hadoop单机模式调试MapReduce程序

    在单机模式下Hadoop不会使用HDFS,也不会开启任何Hadoop守护进程,所有程序将在一个JVM上运行并且最多只允许拥有一个reducer 在Eclipse中新创建一个hadoop-test的Ja ...

  8. ASP.NET MVC(二) 理解MVC

    MVC模型同时提供对HTML.CSS以及JavaScript的完整控制. MVC模型通过三个逻辑层来定义WEB应用程序: (一)Business layer(业务层.模型逻辑) 模型(Model) 模 ...

  9. Android测试分析3

    一个基本的测试用例-- 如果是在eclipse中开发,那么需要在AndroidManifest.xml中加入如下两段代码:    <uses-library android:name=" ...

  10. 配置git DiffMerge工具

    git的命令行貌似没有特别好用的UI工具,不管是Android Studio自带的还是其他的,完全代替命令行好像做不到.再加上对git来说没什么比diff和merge更正常不过的事情了.那就配置命令行 ...