`
yidongkaifa
  • 浏览: 4059809 次
文章分类
社区版块
存档分类
最新评论

IOS学习笔记(12)Storyboards使用方法

 
阅读更多

Storyboards

Storyboards是一个定义了App中不同屏幕中建立联系的新方法。通过Storyboards你可以浏览、创建整个App的UI,可以在一个屏幕的不同视图控制器之前建立联系。

一个屏幕的内容称为一个场景。


用StoryBoards创建一个项目

在new project设置对话框中选择使用StoryBoard。

在Storyboard上增加一个导航控制器

Storyboard文件在IB中打开,只需双击一个空序列图像版画布上 的空间,内容就会缩小。

简单的用过Storyboard,现在介绍一下使用方法:

打开.storyboard文件后,有一个白板视图控制器,我们需要增加一个导航控制器,在对象库中,我们找到NavigationController对象,将它拖到左侧的画布上,画布上面增加了两个视图控制器,我们把箭头指向的视图控制器删掉。选中剩下的NavigationController控制器,然后摁下control键,按住鼠标左键,拉出一条直线直至viewController控制器上(新建自带的白板控制器),放开鼠标左键和control键后会弹出一个提示框,点击rootViewController。这只是第一步。这样完成之后你运行程序屏幕出现的还是一个空白的画面。

重要的一部是,画布的左侧有一个View Controller Scene界面,选中Navigation Controller 后,点击view菜单,选择view->show Attributes Inspector(显示属性检查器)[也就是Xcode右上角一排六个图表中的左数第四个]。将initial Scene后面的单选框选中。

好了,现在可以运行程序了。

增加一个按钮,点击按钮后,将一个视图控制器推出堆栈。

在对象库中找到View Controller对象,将它拖到画布上,然后选择一个按钮,放入第一个视图控制器里(如果视图控制器处于缩小状态将不能增加按钮,放大之后即可),按钮选中状态下,按住键盘上的control和鼠标左键,一直拖到第二个视图控制器上,松开鼠标左键和control键后,选择push。运行一下效果就出来了。

将数据从一个屏幕传输到另一个屏幕

使用Segue对象。(segue [segwei]继续)

当发生不同场景之间转换时,Storyboard的运行库会为这个转换创建一个segue对象。segue就是类UIStoryboardSegue的一个实例。当转换发生时,当前视图控制器(在segue后退出屏幕)将会收到prepareForSegue:sender:的消息,此处的prepareForSegue参数会变成UIStoryboardSegue类的一个对象,如果需要传输数据,需要使用prepareForSegue:sender:的方法。


-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

NSLog(@"Source controller = %@",[segue sourceViewController]);

NSLog(@"Destination controller = %@",[segue destinationViewController]);

NSLog(@"Segue Identifier = %@",[segue identifier]);

}


在一个已有项目中添加Storyboard

从file菜单,选择new->new file ->Resource ->Storyboard 选项,然后Next。

选择合适的设备序列(iPhone,iPad) 完成之后next。

选择保存地方。

在你的项目结构中,找出Info.plist文件,如果你有这些键,把他们从.plist文件中删除:

*NSMainNibFile(将会以Main nib文件及名称出现)。

*NSMainNibFile~ipad(将会以Main nib文件及名称出现(ipad))。

如果你只有适用于iphone或者ipad的App,为iPhone创建一个称作UIMainStoryboardFile的键或者为ipad创建一个称作UIMainStoryboardFile~ipad的健,如果你有一个通用的APP,就创建2个健。然后保存.plist文件。

最后一布,把application:didFinishLaunchingWithOptions:方法从APP委托的执行中删除。依据你的APP是如何建立的,这个方法可以建立不同的视图控制器和窗口等等,有了Storyboard后,你就不再需要它了。


分享到:
评论

相关推荐

    iOS5 by tutorials

    Storyboards: 学习如何使用Storyboards来加快程序的开发 iCloud: 学习如何在云端存储程序的数据,以及将数据共享与不同的设备 GLKit: 学习如何使用GLKit降低OpenGL ES 2.0编程的难度 UIKit Customization: 学习...

    iOS 10 App Development Essentials

    30. Implementing iOS 10 TableView Navigation using Storyboards in Xcode 8 31. Working with the iOS 10 Stack View Class 32. An iOS 10 Stack View Tutorial 33. An iOS 10 Split View Master-Detail Example ...

    Storyboards-Part1

    Storyboards Part1 代码

    一步一步学习IOS6

    第十部分:使用Storyboards创建导航控制器和表视图 第十一部分:Storyboard 联线教程-在视图控制器间传递数据 第十二部分:Storyboard教程-创建Tab Bar控制器和Web视图 第十三部分:在表视图中添加搜索栏 第十四部分...

    IOS Storyboard 入门源码

    Storyboard是一项令人兴奋的功能,在... 如下图所示,这就是一个完整的应用的storyboard,接下来我们要学习如何通过这种方式创建应用。 现 http://www.raywenderlich.com/50308/storyboards-tutorial-in-ios-7-part-1 ...

    iOS.8.App.Development.Essentials

    Implementing iOS 8 TableView Navigation using Storyboards in Xcode 6 Chapter 30. An iOS 8 Split View Master-Detail Example Chapter 31. Implementing a Page based iOS 8 Application using ...

    Storyboards

    A very good guide for computer interface design.

    iOS 10 Programming Cookbook - Hossam Ghareeb

    Chapter 4, Working with Interface Builder, provides tips and tricks while dealing with interface builders, such as storyboards and XIB files. Get your hands dirty with Autolayout and size classes and ...

    一步一步学习_iOS_6_编程(第四版)

    第十部分:使用Storyboards创建导航控制器和表视图 第十一部分:Storyboard 联线教程-在视图控制器间传递数据 第十二部分:Storyboard教程-创建Tab Bar控制器和Web视图 第十三部分:在表视图中添加搜索栏 第十四部分...

    iOS.9.App.Development.Essentials

    iOS 9 App Development Essentials is latest edition of this popular book series and has now been fully updated for the iOS 9 SDK, Xcode 7 and the Swift 2 programming language. Beginning with the ...

    [iOS] Learning Core Data for iOS (英文版)

    Hands-on from start to finish, it teaches you step-by-step as you create a modern data-driven iOS app using Storyboards, ARC, iOS 7, and Xcode 5. Tim Roadley introduces new patterns and best ...

    2021_Build-an-Instagram-iOS-App-Clone-with-Cloud-Firestore-Swift-5-iOS-14-No-Storyboards:使用Cloud Firestore,Swift 5,iOS 14和无Storyboard构建Instagram iOS应用克隆

    2021_Build-an-Instagram-iOS-App-使用Cloud-Firestore-Swift-5-iOS-14-无故事板 使用Cloud Firestore,Swift 5,iOS 14和无Storyboard构建Instagram iOS应用克隆

    iOS 5 Programming中文版第四章

    iOS 5 Programming中文版第四章:Storyboards

    iOS Programming: The Big Nerd Ranch Guide (4th Edition) 2014 epub

    Xcode 5, Instruments, and Storyboards Building interfaces using the iOS 7 aesthetic ARC and strong and weak references Handling touch events and gestures Toolbars, navigation controllers, and split ...

    Swift.iOS.24-Hour.Trainer.111907355

    Lesson 10 Introduction to Storyboards Section II More iOS Development Lesson 11 Handling User Input Lesson 12 Alert Views and Action Sheets Lesson 13 Adding Images to Your View Lesson 14 Pickers ...

    Storyboards-1.zip

    Storyboards-1.zip

    一步一步学习 iOS 6 编程(第四版)

    第十部分:使用 Storyboards 创建导航控制器和表视图 第十一部分:Storyboard 联线教程-在视图控制器间传递数据 第十二部分:Storyboard 教程-创建 Tab Bar 控制器和 Web 视图 第十三部分:在表视图中添加搜索栉. 第十四...

    IOS编程入门-精品教程

    第十部分:使用Storyboards创建导航控制器和表视图 第十一部分:Storyboard 联线教程-在视图控制器间传递数据 第十二部分:Storyboard教程-创建Tab Bar控制器和Web视图 第十三部分:在表视图中添加搜索栏 第十四部分...

Global site tag (gtag.js) - Google Analytics