XCode4中的story board的研究

关键字: IOS XCode4 StoryBoard

最近正在学习IOS方面的开发,在XCode4的时候,看到它的StoryBoard,因为大部分的入手教程都只是教你怎么用这个StoryBoard,而从来没有人跟你说这个StoryBoard是怎么一回事,所以产生了对它做一个小研究的兴趣。


本人Windows 开发人员出身,凭直觉上看,这个StoryBoard会跟.rc应该很相似,最终的结果也印证了这个猜想。


首先我们看看这个StoryBoard是个什么东西。

一,StoryBoard起源:

StoryBoard源于动画电影的制作,相关知识参考:http://zh.wikipedia.org/wiki/%E5%88%86%E9%8F%A1

       XCode4 引入这个概念,个人的看法上,是想引导开发人员应用场景的概念去做APP的开发。因为移动APP的特质是一屏一屏地切换,所以引入这个概念,使得整个开发比较有条理。

      从我对于这么多年的开发模式的理解,这样的模式是有其可取之处的,但是要注意对User Case及整体架构的控制。后面有时间的时候可以写写有关开发模式方面的心得。


二,StoryBoard里面有什么

      首先,StoryBoard是一个XML文件,StoryBoard里面包括Control/Scene/Segue的定义及关联关系的定义。

      其次,从Windows开发人员的角度去看,它很像一个.rc,我们可以分段来看它里面有什么:

sceneID

<scene sceneID="5">

      

定义 view control

<viewController id="2" customClass="ViewController" sceneMemberID="viewController">   

      

控件及ID,属性

<slider opaque="NO" contentMode="scaleToFill"  ... id="Tdd-jy-JnD">  

        <rect key="frame" x="-2" y="-1" width="274" height="23"/>
        <connections>
<action selector="changeLabelText::" destination="2" eventType="valueChanged" id="4Vj-jl-krg"/>
</connections>

</slider>


Segue ID

<segue destination="tKu-jX-Erg" kind="modal" id="uUh-na-oT5"/>


Outlet 

<connections> //outlet的连接点
                        <outlet property="slider_main" destination="Tdd-jy-JnD" id="IW8-aT-36m"/>
                        <outlet property="titleLabel" destination="RdM-sN-1c8" id="ru7-4k-XUx"/>
</connections>

class&outlet

<class className="ViewController" superclassName="UIViewController">
    <source key="sourceIdentifier" type="project" relativePath="./Classes/ViewController.h"/>
            <relationships>
                <relationship kind="action" name="changeLabelText:"/>
                <relationship kind="outlet" name="slider_empty" candidateClass="UISlider"/>
                <relationship kind="outlet" name="slider_main" candidateClass="UISlider"/>
                <relationship kind="outlet" name="titleLabel" candidateClass="UILabel"/>
            </relationships>

</class>

内容其实也很简单易懂,就是一个简单的定义文件,如果还有不明白,参考:

https://developer.apple.com/library/ios/#releasenotes/General/WhatsNewIniPhoneOS/Articles/iOS5.html#//apple_ref/doc/uid/TP30915195-SW1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值