Swift语言IOS8开发战记8.NavigationController - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 技术分享 >

Swift语言IOS8开发战记8.NavigationController

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:44


       在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
    }

运行效不雅如下:
[img]http://img.blog.csdn.net/20150106110658592
膳绫擎的红框区域就是一个导航栏,有一点须要留意,我们在创建NavigationController时的参数为rootViewController:ViewController(),ViewController保存了我们之前设置的tableView的全部设计,笔者之前没留意,在写rootViewController类型的时刻写成了UIViewController,结不雅运行后除了导航栏其他满是黑的,所以大年夜家必定要留意。
导航栏中都是应用导航项(UINavigationItem)实例来填充的,默认情况下场景的导航项包含一个标题和一个back按钮。我们须要在ViewController中定义UINavigationItem的内容,如今我想给我这个View取个名字叫“cgGo”,在ViewController中的viewDidLoad办法中增长如下代码:

        self.navigationItem.title = "cgGo"

运行结不雅如图:
[img]http://img.blog.csdn.net/20150106111708725

如今来试一下点击某一行跳转到下一页面,定义一个控制器,新建文件,类型照样cocoa touch class,定名为DetailViewController。在点击的代劳办法中,把之前彪炳的ActionSheet的代码注释掉落,改成如下代码:

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

运行后点击屏幕划出一个新的界面:
[img]http://img.blog.csdn.net/20150106113355457

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


相关案例查看更多