Swift语言IOS8开发战记8.NavigationController

简介:        在IOS应用中,可以采用结构化程度更高的场景进行布局,其中有两种最流行的应用程序布局方式,分别是使用导航栏控制器和选项卡栏控制器。

       在IOS应用中,可以采用结构化程度更高的场景进行布局,其中有两种最流行的应用程序布局方式,分别是使用导航栏控制器和选项卡栏控制器。导航控制器能够让用户从一个屏幕切换到另一个屏幕,这样可以显示更多细节。选项卡栏控制器常用于开发包含多个屏幕的应用程序,其中每个选项卡都显示一个不同的场景,让用户能够与一组控件交互。

       之前我们已经用了很多次的使用了导航控制器UIViewController,它的主要功能是控制屏幕的切换,提供一个显示用的view界面,同时包含view的加载、卸载事件的重定义功能。在IOS应用中,导航控制器(UINavigatinoController)可以管理一系列显示层次型信息的场景。也就是第一个场景显示关于特定场景的高级视图,第二个场景用于进一步描述,第三个场景再进一步描述,以此类推。通过导航管理器可以管理这种场景间的过渡,它会创建一个视图控制器“栈”,栈底是根视图控制器。当程序需要在多个view之间切换的时候,可以使用UINavigationController。这一话我们要添加一个导航栏,添加导航控制器需要在初始化的时候添加。打开类AppDelegate,会看到一个叫application的方法。看到方法体中的注释如下:

 // Override point for customization after application launch.

在其中添加一个导航,代码如下:
    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        
       let  navController = UINavigationController(rootViewController: ViewController())
        self.window?.rootViewController = navController
        self.window?.makeKeyAndVisible() //设置可见
        return true
    }

运行效果如下:


上面的红框区域就是一个导航栏,有一点需要注意,我们在创建NavigationController时的参数为rootViewController:ViewController(),ViewController保留了我们之前设置的tableView的全部设计,笔者之前没注意,在写rootViewController类型的时候写成了UIViewController,结果运行后除了导航栏其他全是黑的,所以大家一定要注意。

导航栏中都是使用导航项(UINavigationItem)实例来填充的,默认情况下场景的导航项包含一个标题和一个back按钮。我们需要在ViewController中定义UINavigationItem的内容,现在我想给我这个View取个名字叫“cgGo”,在ViewController中的viewDidLoad方法中增加如下代码:

        self.navigationItem.title = "cgGo"

运行结果如图:


现在来试一下点击某一行跳转到下一个页面,定义一个控制器,新建文件,类型还是cocoa touch class,命名为DetailViewController。在点击的代理方法中,把之前跳出的ActionSheet的代码注释掉,改成如下代码:

 self.navigationController?.pushViewController(DetailViewController(), animated: true)

运行后点击屏幕划出一个新的界面:


我们看到的这个黑色屏幕就是DetailViewController,在这个类中进行编辑,就可以得到我们想要的结果,这就要求两个页面间要传参数,下一话再来解决这个问题。


目录
相关文章
|
3月前
|
监控 安全 Swift
企业上网行为管理软件:Swift 语言在移动终端监控的拓展
在数字化时代,企业对员工移动终端的上网行为管理日益重视。Swift 语言在移动终端监控中展现出独特优势,包括网络状态监测、应用使用跟踪及网页浏览行为监控等功能,有效助力企业确保信息安全和提高工作效率。
48 6
|
3月前
|
安全 开发工具 Swift
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发。基础语法涵盖变量、常量、数据类型、运算符、控制流等,高级特性包括函数、闭包、类、结构体、协议和泛型。
68 2
|
3月前
|
安全 Swift iOS开发
Swift 与 UIKit 在 iOS 应用界面开发中的关键技术和实践方法
本文深入探讨了 Swift 与 UIKit 在 iOS 应用界面开发中的关键技术和实践方法。Swift 以其简洁、高效和类型安全的特点,结合 UIKit 丰富的组件和功能,为开发者提供了强大的工具。文章从 Swift 的语法优势、类型安全、编程模型以及与 UIKit 的集成,到 UIKit 的主要组件和功能,再到构建界面的实践技巧和实际案例分析,全面介绍了如何利用这些技术创建高质量的用户界面。
72 2
|
3月前
|
机器学习/深度学习 TensorFlow Swift
Swift语言适合多个领域的开发
Swift语言适合多个领域的开发
131 9
|
3月前
|
安全 编译器 Swift
Swift开发
Swift开发
108 9
|
3月前
|
机器学习/深度学习 安全 数据挖掘
Swift语言的应用场景非常广泛
Swift语言的应用场景非常广泛
84 4
|
3月前
|
机器学习/深度学习 人工智能 移动开发
Swift语言作为苹果公司推出的现代编程语言
Swift语言作为苹果公司推出的现代编程语言
64 8
|
3月前
|
安全 Swift iOS开发
Swift语言
Swift语言
45 4
|
3月前
|
安全 数据处理 Swift
深入探索iOS开发中的Swift语言特性
本文旨在为开发者提供对Swift语言在iOS平台开发的深度理解,涵盖从基础语法到高级特性的全面分析。通过具体案例和代码示例,揭示Swift如何简化编程过程、提高代码效率,并促进iOS应用的创新。文章不仅适合初学者作为入门指南,也适合有经验的开发者深化对Swift语言的认识。
85 9
|
测试技术 API Go
iOS - Swift Swift 语言新特性
1、Swift 2.0 带来哪些新变化 常规变化: 1、OS X 10.11、iOS 9 和 watchOS 2 SDK 采纳了一些 Objective-C 的特性用来提高 Swift 的编程体验, 如可空性、类型化集合和一些别的特性。
1406 0

热门文章

最新文章

  • 1
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 2
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 3
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
  • 4
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 5
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
  • 6
    iOS8 中无需开源库的内置功能一览
  • 7
    iOS7应用开发7:自定义视图、手势操作
  • 8
    IOS小工具以及精彩的博客
  • 9
    Facebook SDK(iOS)初学讲解
  • 10
    【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记5 Data Structures、Methods、Properties
  • 相关课程

    更多