`
bengan
  • 浏览: 204437 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Xcode4.2新特性之storyboards (故事板)

阅读更多
Xcode4.2新特性之storyboards (故事板)

Storyboards are the new way to define your application’s user interface.

storyboards (故事板)是Xcode为我们提供一种全新的方式,用来定义我们应用程序的用户界面。

In the past, you used nib files to define your user interface one view controller at a time.

在过去,我们用nib 文件(即xib,由IB创建地)来定义我们的用户界面,一次只能是一个视图控制器。

A storyboard file captures your entire user interface in one place and lets you define both the individual view controllers and the transitions between those view controllers.

一个Storyboard文件只需要一次即可获取我们整个的用户界面(UI),并帮助我们定义单独的视图控制器、定义视图控制器之间的切换。

As a result, storyboards capture the flow of your overall user interface in addition to the content you present.

因此,storyboards 不仅定义了当前的内容(就像以前一个控制器一个xib),还掌握了我们整体用户界面(UI)的流动。

基础辅助教程:XCode 4.2的Storyboard

今天我准备做一个短暂的辅助教程关于怎么用Xcode 4.2里边的Storyboard.当storyboard出现的时候相比于以前IB的工作方式有些让人茫然不解, 我也感觉苹果在这个技术上真的打了一个曲线球.

实际上当你开始使用它的时候并不是完全那么糟糕,这个教程将会展现用一个按钮怎么连接两个视图控制器, 在这个过程中不会有一行代码.

废话就说这么多,现在让我们进入正题,马上建立一个新的Xcode工程.


1.建立Demo工程
我们将用Single View Application模板,我们给它取名为Demo.为了简单起见我们这个教程只针对于iPhone. 记住勾选"use Storyboard"和"Use Automatic Reference Counting"这两个选项(虽然在这次教程里我并不会讲解ARC, 注:ARC也就是IOS5内存管理的自动引用计数技术). 我不准备给我的类加任何前缀所以我把那一个位置留空.

现在你应该拥有了你的新的空工程,包含你的App Delegate, 一个single View Controller, 和一个storyboard文件.


在我们开始storyboard 的学习之前,让我们先建立一个新的view controller. 右击Demo组(就在App Delegage的上面),然后选择"New File", 在Cocoa Touch组里选择UIViewController subclass 然后我们给它取名为"NewViewController"
确保下边的两个选项都没有被标记.

现在你就有一个工程像下边这幅图的样子.



2.Storyboard

现在我们进入正题, storyboard将允许我们定义在我们应用程序中不同的视图之间的相互作用关系.在一个程序中你可以拥有一个或多个storyboard, 这并不是说你真正的需要它().让我们点击storyboard文件然后看看都有些什么.

首先我们看到我们的工程有了我们第一个view controller 而且也包含我们程序的入口点.
现在我们首先要做的就是添加一个navigation controller以便我们能够推入或弹出新的视图. 幸运的是Xcode我们提供了一个简单的做此事情的方法.
左键单击 View Controller的图片,然后在屏幕的顶部选择Editor menu,然后选择Embed In最后选择Navigation Controller. Xcode非常友好的我们加入了一个新的navigation controller 而且把所有的为了使它能够工作的后台工作都做好了.
谢谢Xcode,但是我想如果这个选项能够更明显一点它会更实用的.现在你拥有了两个box 在你的storyboard 上,如下图所示



非常棒!现在我们需要一个button来展示从一个视图转到另一个.所以现在让我们添加一个button到View Controller.  只需要托一个"rounded rect button"从对象列表里到view controller上(注意如果你的视图进行了缩放的话你是无法托项目到view上的);

让我们给这个button命名为"New View". 让我们也给navigation bar一个标题"Original View" ,我们可以双击导航条并输入.

现在我们需要一个新的View Controller  对象来展现我们的 "NewViewController", 在右侧托一个已经存在的viewController进来. 添加一个label写上比如"My New View"或什么其它的. 这样当我们测试把这个视图推入的时候我们就能知道了.现在你的soryboard应该看起来像下面这样



现在我们需要链接我们的view Controller 对象到我们的 "NewViewController"  子类.
选择你刚才托入的view controller然后选择Identity Inspector在右上方,选择第三个标签,从Class里选择"NewViewController". 最终, 我们需要告诉第一个视图的按钮,当它被点击的时候我们想要移入第二一个视图.简单的按住Ctrl然后从button托动到新的view controller.当我们做完这些时将会出现一个选项列表,有三个选项(push, modal 和custom).选择Push. 这是可行的因为我们有一个Navigation Controller在我们的工程里.如果我们没有在开始把navigation controller加进来,这样做是没有意义的,在运行的时候点击button将不会任何事情发生.不管怎么样,你还可以选择"modal"选项它并不需要navigation controller.

也注意当我们连接了两个视图以后, navigation bar将会出现在第二个视图.

你的最终的storyboard应该看起来像下边这个样子


现在如果你运行你的工程, 你将看到第一个视图, 点击按钮出现第二个视图.

可能唯一需要提到的就是如果我们需要给新的视图传送数据我们可以实现方法"prepareForSegue:sender:".  当然你也可以从视图返回数据用delegates就像我们平时做的那样.


自己按文章做了一下demo,storyboards使用起来的确方便。但是一个致命的问题是只支持ios5或以上版本。
  • 大小: 16.8 KB
  • 大小: 20.9 KB
  • 大小: 33.2 KB
  • 大小: 47.8 KB
  • 大小: 49.6 KB
分享到:
评论

相关推荐

    lion+xcode4.2下载链接的BT种子

    标题中的“lion+xcode4.2下载链接的BT种子”指的是苹果公司开发工具Xcode的4.2版本在Mac OS X Lion操作系统上的安装文件。Xcode是Apple Inc.为开发者提供的一个集成开发环境(IDE),用于创建iOS和macOS应用程序。...

    Xcode4.2教程(斯坦福大学iOS开发教程3_Walkthrough iOS 5.pdf)

    这份教程源自斯坦福大学的课程,旨在帮助开发者深入理解iOS开发过程,提升技能,并充分利用Xcode4.2的特性。 Xcode是Apple官方的集成开发环境(IDE),用于构建MacOS和iOS应用程序。Xcode4.2在当时引入了许多改进...

    xcode 4.2 (4D199)

    xcode 4.2 and iOS5 sdk torrent 文件

    xcode4.2+ios5sdk for snowleopard

    xcode4.2 ios5sdk snowleopard

    XCODE4.2英文书籍

    1. **Xcode 4.2的新特性**: - **改进的源代码编辑器**:提供了更加强大的语法高亮、自动补全等功能。 - **增强的调试器**:包括更快的调试速度、更直观的调试界面等。 - **全新的Interface Builder**:支持实时...

    XCode 4.2 + iOS5 SDK for Snow Leopard/Lion 网络绝版!

    Snow Leopard 上最后一个版本的xcode 网络上已经没有其他可下载的资源点 xcode_4.2_and_ios_5_sdk_for_snow_leopard.dmg xcode_4.2_and_ios_5_sdk_for_lion.dmg md5:4e0efebe696d31b46ab4b117015515a5

    xcode 4.2 免证书真机调试配置

    xcode 4.2 免证书真机调试配置 1、根据《XCode 4.2 免证书调试之...6、XCode4.2项目中,Build Setting->Code signing->Code signing Identity, 点击"Don't Code Sign",选择other,在弹出框中填入"iPhone Developer"。

    XCode 4.2 & iOS5 SDK

    Xcode 4.2版本是在2011年推出的重要更新,它引入了许多新特性和改进,为开发者提供了更高效、更强大的工具集。同时,该版本还附带了iOS 5软件开发套件(SDK),使得开发者可以利用iOS 5的新功能来创建创新的应用。 ...

    XCode4.2中使用Empty Application模板替代旧的Window Based

    随着Xcode版本的不断更新与迭代,开发者们也需要不断地调整自己的开发习惯以适应新的工具特性。在Xcode 4.2版本中,原本熟悉的Window-Based Application模板被移除,取而代之的是更为灵活的Empty Application模板。...

    xcode4.2_ios5_sdk_for_lion

    标题“xcode4.2_ios5_sdk_for_lion”指的是苹果开发工具Xcode的4.2版本,专门针对iOS 5操作系统的软件开发工具包(SDK)。这一版本的Xcode适用于Mac OS X Lion操作系统,是开发者构建iOS应用程序的重要平台。 在iOS...

    Apple Xcode 4.2 下载地址(非官方)

    Xcode 4.2发布于2011年,作为Xcode 4系列的一部分,它引入了多项重要的改进和新特性。相较于早期版本,Xcode 4.2在性能和用户体验上有了显著提升,包括但不限于: 1. **整合了Interface Builder**:这使得开发者...

    xcode 4.2 and IOS 5.0 DP

    xcode 4.2 and IOS 5.0 DP

    Xcode4.2for snow

    snow xcode 4.2 mac,亲测,速度不错

    iOS5开发基础教程 Xcode4.2

    - **第十章:故事板** - 故事板提供了一种直观的方式来进行界面设计和视图控制器的连接。 - **第十一章:iPad考虑因素** - 针对iPad的特殊性,介绍如何优化布局和功能,使其更加适合平板电脑使用。 - **第十二章:...

    Xcode 4.2 4.1 免证书开发

    ### Xcode 4.2/4.1 免证书开发详解 #### 一、引言 对于初涉iOS开发领域的爱好者或小型团队来说,高昂的开发者费用无疑是一大障碍。通常情况下,要在真实设备上测试iOS应用或者进行进一步的分发,都需要购买苹果的...

    Empty OpenGL ES Application工程模板(XCode4.2)

    从零开始学习OpenGL ES系列教程的工程模板,XCode4.2,路径为/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/Application/

    XCode 4.2真机调试

    本文将详细讲解如何使用Xcode 4.2进行真机调试,以便开发者能够在实际设备上测试应用的功能和性能。 一、Xcode 4.2简介 Xcode 4.2是Apple在2011年发布的一个版本,它包含了对iOS 5的支持,并引入了Interface ...

    Empty OpenGL ES Application(XCode 4.2)

    OpenGL ES 从零开始系列教程的工程模板,XCode4.2,路径为/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/Application/

    IOS计算器源代码,XCODE4.2+IOS5SDK

    这个名为"IOS计算器源代码,XCODE4.2+IOS5SDK"的项目,是使用旧版Xcode 4.2和iOS 5 SDK构建的一个简单计算器应用。下面我们将详细讨论这个项目中的关键知识点。 1. **Xcode 4.2**:Xcode是Apple的官方集成开发环境...

Global site tag (gtag.js) - Google Analytics