功能如下: 1,在AppDelagete.swift入口文件中把首页VIEwController做了导航控件的封装 2,首页是一个表格列出几个Swift控件的名称 3,点击表格项即切换到对应组件展示页面,顶部的导航条标题变为该控件的名称,同时导航条左侧还有返回按钮 4,在展示页中,给导航条右侧添加了“效果/代码”切换的按钮,点击分别展示组件的效果和代码 效果图如下: 代码如下: --- 入口文件AppDelegate.swift ---
1 2 3 4 5 6 7 @H_301_53@ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import UIKit @UIApplicationMain class AppDelegate: UIResponder,UIApplicationDelegate { var window: UIWindow? func application(application: UIApplication, dIDFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // 把起始VIEwController作为导航控件封装,我们在VIEwController里就能调用导航条进行页面切换了 let rootVIEwController = VIEwController() let rootNavigationController = UINavigationController(rootVIEwController: rootVIEwController) self.window!.rootVIEwController = rootNavigationController return true } func applicationWillResignActive(application: UIApplication) { } @H_502_187@func applicationDIDEnterBackground(application: UIApplication) { } func applicationWillEnterForeground(application: UIApplication) { } func applicationDIDBecomeActive(application: UIApplication) { } func applicationWillTerminate(application: UIApplication) { } } |
VIEwController: UIVIEwController,UItableVIEwDelegate,UItableVIEwDataSource { // 表格加载 @H_701_301@tableVIEw:UItableVIEw? // 控件类型 ctrls = [ "UILabel" , "UIbutton" "UIImageVIEw" "UiSlider" "UIWebVIEw" ] overrIDe func vIEwDIDLoad() { super .vIEwDIDLoad() self.Title = "Swift控件演示" self.tableVIEw = UItableVIEw(frame:self.vIEw.frame,style:UItableVIEwStyle.Plain) self.tableVIEw!.delegate = self self.tableVIEw!.dataSource = self self.tableVIEw!.registerClass(UItableVIEwCell.self,forCellReuseIDentifIEr: "SwiftCell" ) self.vIEw.addSubvIEw(self.tableVIEw!) @H_502_187@func dIDReceiveMemoryWarning() { .dIDReceiveMemoryWarning() // dispose of any resources that can be recreated. } // UItableVIEwDataSource协议方法 func tableVIEw(tableVIEw: UItableVIEw,numberOfRowsInSection section: Int) -> Int { return self.ctrls.count } // UItableVIEwDataSource协议方法 -> UItableVIEwCell { let cell = tableVIEw.dequeueReusableCellWithIDentifIEr( UItableVIEwCell cell.accessoryType = UItableVIEwCellAccessoryType.disclosureIndicator cell.textLabel?.text = self.ctrls[indexPath.row] cell } // UItableVIEwDelegate协议方法,点击时调用 { // 跳转到detailVIEwController,取消选中状态 self.tableVIEw!.deselectRowAtIndexPath(indexPath,animated: true ) // 创建DetailVIEwController let detailVIEwController = DetailVIEwController() // 传递控件的Title,在detailVIEw里用于判断生成响应的控件 detailVIEwController.Title = self.ctrls[indexPath.row] // navigationController跳转到detailVIEwController self.navigationController!.pushVIEwController(detailVIEwController,monospace!important; min-height:inherit!important">) } --- 子页面DetailVIEwController.swift ---
如果使用StoryBoard实现更加简单 AppDelegate.swift都不需要修改。打开Main.storyboard。 (1)点击首页的Scene,选择Editor -> Embed In -> Navigation Controller 即可。 (2)从首页单元格拖“show”的关联Segue到详细页,或从首页VIEw Controller拖手动关联Segue到详细页 (3)定义上面刚添加的Segue的IndentifIEr(比如detail) 这样,点击单元格跳转的代码有所改变,是根据刚才定义Segue的IndentifIEr来跳转
原文出自: www.hangge.com 转载请保留原文链接: http://www.hangge.com/blog/cache/detail_586.html 总结 以上是内存溢出为你收集整理的Swift - 使用导航条和导航条控制器来进行页面切换全部内容,希望文章能够帮你解决Swift - 使用导航条和导航条控制器来进行页面切换所遇到的程序开发问题。 如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。 欢迎分享,转载请注明来源:内存溢出
赞
(0)
打赏
微信扫一扫
支付宝扫一扫
Swift 文档注释规范
上一篇
2022-05-27
窥探Swift之别样的枚举类型
下一篇
2022-05-27
|
评论列表(0条)