iOS开发初探(一)

    ios开发与桌面开发的很大不同在于:单窗口(对于单个屏幕而言),程序员绝大部分时间操作的对象是View和对应的Controller,此外对于移动设备,还要考虑过渡效果。

    与桌面软件不同,app的绝大部分数据被存放在controller中,此外,controller还要承担过渡效果;app的view是直接接受用户点击等事件的类。因此,overrrode相关view类的响应时间方法就可以custom自己的view。事件触发之后,将相应的消息传送给controller,由controller进行数据的处理,改变view的外观,以及与数据库、服务器进行通信(本节暂时不介绍这方面内容)。

    最常用的view controller就是navigation view controller 以及tab bar controller,对于view,比较方便的是使用现有的模版storyboard。以navigation view controller为例,它是一个container view controller,顾名思义,navigation view controller可以容纳多个view controller。整体上,view controller分为container view controller 和 content view controller, 前者可以认为是controller 树的非叶子节点,后者是显示具体内容如:图像,邮件,text等的直接与用户打交道的叶子节点controller。navigation view controller 包含了多个view以及它们各自对应的view controller,每一个view在assembled views中都有以一个navigation view item与之对应,并且具体的外观细节可以用代码修改,如下图1A所示。

 

    建立一个简单的app程序:

首先,要理解window只是一个虚的概念,我们能见到的都是一些view的集合,内部类的关系如下图:

每一个“控件”都是一个view,都有自己的controller,并可以进行深度的自定义。你看到的是一个view的集合,内部是一个树形的结构,因此有一个root view controller,它控制了其他所有的view以及controller,

    在xcode中,建立一个项目,选择empty application,创建后,它会自动生成一个代理类,关于这个类,会在下一节介绍。运行后,是一个空白的屏幕,因为我们的app中还没有任何view controller 和view,为了添加view,我们新建一个类。new->file->object class,选择继承自UIViewController,名字自拟,并勾选With Xib for User Interface,这里,xib'是一个xml文件,它定义了view的原始外观(因为动态的内容和运行后的改变在代码中实现),这也是一种当下很流行的界面开发模式。

    创建controller类之后,使用Interface Builder可以发现,已经出现了一个View类,但是我们看不到这个类的定义和实现代码,它就是刚刚创建的controller的view,是系统自动生成的,界面上它填满了整个window区域。右击File Owner或或者View都可以看到他们的关联关系,对于View在弹出的黑色窗口(Outlet)中,我们看到了一个view和View之间的连线,这个代表了界面元素和类之间的关联关系,view代表了controller中的view成员,View指的是界面中的View元素,Outlet亦可以在右边侧边栏中用拖拽的方式使用,以关联界面元素和定义的类或成员。

    在右侧的侧边栏,上面可以定义界面的各种属性,下面可以选择界面控件库中的各种元素。下面要做的是将Controller联系到delegate中去,打开AppDelegate.m文件,new一个我们定义好的Controller类,(以下用MyViewController代表)。

    MyViewController*  myViewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];

    [self.window setRootViewController: myViewController];

    第一句的作用是new并且用xib文件初始化一个Controller对象,这里引入了界面文件传给这个RootViewController,然后下一句将它设置为RootViewController。

    向View中添加若干库中的元素,然后编译,运行,OK~

(参考文章:http://www.techrepublic.com/blog/software-engineer/getting-started-with-ios-views-and-view-controllers-part-1/

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值