- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
怎样用swift制作一个滑出的导航控制面板剖析
怎样用swift制作一个滑出的导航控制面板
向右滑出一个导航控制面板。
这个教程会展示给你如何制作一个侧滑导航面板,就像是facebook或者IOS apps的侧滑页面。
滑出式导航页面的设计模式准许开发者添加永久性导航到应用程序上,而无需占用宝贵的屏幕空间。用户可以选择在任何时间显示导航栏,同时还可以看到当前的内容。
在这个教程中,你会发现,制作一个侧滑导航面板没有你想象的那么复杂。
准备开始
这次要做的项目是关于一个小猫小狗照片的侧滑导航栏,准备开始,你需要先下载一些“开始文件--starter project for this tutorial”,这是一个zip的文件,将它保存到一个方便的地方,这样方便找到你的项目。
打开Xcode, 你会发现Resources文件包含了所有的小猫和小狗的照片,这些照片是用来显示到app里的。你还会发现,总共有3个主视图控制器。当你想把这个教程运用到你的项目里,有以下几点是你需要牢记的:
1. ContainerViewController: 这就是奇迹发生的地方!它包含了左视图,中心视图和右视图控制器,然后用动画和滑动来操控。在这个项目里,它在application(_:did-FinishLaunchingWithOptions:)创建并添加了一个窗口在AppDelegate.swift
2.CenterViewController: 中心面板,这个可以被你自己的视图控制器代替(确保你copy了所有的按钮actions).
3.SidePanelViewController: 使用左面板和右边面板,这样可以用你自己的视图控制器来代替。
所有的视图控制器都在Main.storyboard里定义过,所以你可以快速的看一遍storyboard, 然后知道这个app大概是什么样子的。
现在,你已经对这个项目的结构非常熟悉了吧,我们准备开始咯!
找到你的中心视图管理器
在这个部分,你需要找到CenterViewController,在ContainerViewController里面,就像是一个子控制器。
打开ContainerViewController.swift, 你会看到在底部文件里有一个小的UIStoryboard的扩展。它添加了一些类方法,使它更简洁的在storyboard里加载特定的视图控制器,别着急,你马上就会用到这些方法了。
添加一组属性到ContainerViewController,给CenterViewController和UINavigationController,在viewDidLoad():上面。
var centerNavigationController: UINavigationController!
var centerViewController: CenterViewController!
接下来,添加下面的代码到viewDidLoad(),
centerViewController = UIStoryboard.centerViewController()
centerViewController.delegate = self
// wrap the centerViewController in a navigation controller, so we can push views to it
// and display bar button items in the navigation bar
centerNavigationController = UINavigationController(rootViewController: centerViewController)
view.addSubview(centerNavigationController.view)
addChildViewController(centerNavigationController)
centerNavigationController.didMoveToParentViewController(self)
上面的代码创建了一个新的CenterViewController, 然后分配他去你刚刚创建的centerViewController。另外,还创建了一个UINavigationController,用来包含中心视图控制器。接下来,添加导航控制器到ContainerViewController,然后用 addSubview(_:), addChildViewController(_:)和didMoveToParentViewCont
文档评论(0)