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

来源:互联网 发布:淘宝上能买到真蜂蜜吗 编辑:程序博客网 时间:2024/04/28 23:53

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 = %@",[seguesourceViewController]);

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

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

}


在一个已有项目中添加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后,你就不再需要它了。


原创粉丝点击