《iPhone与iPad开发实战—iOS经典应用剖析》连载四

简介: <span style="color:#000000"><span style="font-size:18px"><strong>3.3.2 <span style="font-family:黑体"> 视图翻转动画</span></strong></span></span><br><br><span style="font-family:宋体"><span style="color:#0
+关注继续查看
3.3.2 视图翻转动画

点击主视图右下角的按钮,主视图会翻转到背后视图,在背后视图点击Done按钮可以返回到主视图。在iOS中这是一种视图跳转的方式,同时还伴有动画效果。在本应用中采用的是,通过一个根控制器(控制其它控制器的控制器)RootViewController,来控制主视图控制器(MainViewController)和背后视图控制器(FlipsideViewController)。
本应用是通过MainWindow.xib文件加载RootViewController控制器,然后在RootViewController控制器中创建一个MainViewControllerFlipsideViewController
双击打开MainWindow.xib窗口图3-25所示。





3-25 MainWindow.xib窗口
在图3-26中双击RootViewController打开根控制器设计视图如图3-26所示。


3-26 根控制器设计视图
这个根控制器创建的时候没有对应的视图对象,我们需要从对象库中拖拽一个UIView对象,拖拽过程如图3-27所示。拖拽完成后视图如图3-28所示。



3-27拖拽View到根控制器


3-28 拖拽完成后视图
打开对象库(Library)是通过菜单Tools->Library打开。

我们还需要在图3-28视图添加一个按钮,该按钮是一个特殊的按钮,iOS提供了创建该形式按钮的模板,首先要在对象库中找到Rounded Rect Button拖拽到视图的左下角如图3-29所示。


3-29拖拽按钮
这个按钮如何能变成按钮呢?这需要选中个按钮然后在通过菜单Tools->Attributes Inspector打开按钮检查器,如图3-30所示,在图3-30Type下拉选项中选择Info Light,这样上面的椭圆形按钮就变成按钮如图3-31所示。
  
  3-30属性检查器    3-31 Info Light按钮
在图3-30Type下拉选项中有很多种按钮类型,这是开发iOS定义好的几个模板按钮。这些按钮在iOS都有这特殊的含义,如果不是真正需要一般情况不用轻易使用。就是显示应用信息,一般就是在实用型应用程序中使用。苹果对于这些按钮使用指南和规范。

现在视图翻转的外围工作已经基本完成,我们可以为程序添加代码了,首先添加RootViewController.h根控制器h文件如“代码清单3-1 Password/Classes/RootViewController.h”所示。
【代码清单3-1】 Password/Classes/RootViewController.h
#import <UIKit/UIKit.h>

@class MainViewController;
@class FlipsideViewController;

@interface RootViewController : UIViewController {

IBOutletUIButton *infoButton;
MainViewController*mainViewController;
FlipsideViewController*flipsideViewController;
UINavigationBar*flipsideNavigationBar;
}

@property (nonatomic, retain) UIButton *infoButton;
@property (nonatomic, retain) MainViewController*mainViewController;
@property (nonatomic, retain) UINavigationBar*flipsideNavigationBar;
@property (nonatomic, retain)FlipsideViewController *flipsideViewController;

- (IBAction)toggleView;

@end
h文件中需要定义成员变量、方法和属性,其中infoButton是有关视图中按钮对应。
除了在程序中为控件定义输出口外,还需在中把在视图控制器或视图中定义的输出口的控件成员变量与nib文件中的控件连接起来,如图3-32所示,infoButton控件的连接过程是按住Control键使用鼠标选中Root View Controller拖动连线到infoButton控件,然后松开Control键选择控件的输出口属性,这是在MainWindow.xibnib文件这样连接。如果是一般的nib如图3-33所示MainView.xib文件,其中的控制器的名字是File’s Owner,因此需要拖动File’s Owner到控件就可以了。一般情况下输出口的控件定义在视图控制器中的,但是在本应用中有些控件是定义在视图中,在这种情况下我们要拖动那个视图对象到控件就可以了,如图3-34所示。



3-32 根控制器和控件输出口连接


3-33 MainView控制器和控件输出口连接


3-34 MainView和控件输出口连接
mainViewController属性是主视图控制器,flipsideViewController属性是背后视图控制器,flipsideNavigationBar是在背后视图的导航栏控件。toggleView方法是个IBAction(动作)方法,说明它是与控件事件连接在一起的,该方法是对应按钮的点击事件的。
连接IBAction动作事件与输出口方法类似,要用Interface Builder把对于的nib文件打开,Interface Builder中把控件和控制器(或视图)连接起来,但是方向与输出口相反,输出口连线是按住Control键拖动鼠标从控制器(或视图)到控件,而IBAction动作事件是从控件拖到控制器(或视图)。

目录
相关文章
|
安全 API iOS开发
iOS 新特性分列式 之 iOS 9.x - 主要内容:苹果笔 API 引入、3D Touch、iPad 多任务加强、应用瘦身、应用传输安全、Swift 加强
iOS 新特性分列式 之 iOS 9.x - 主要内容:苹果笔 API 引入、3D Touch、iPad 多任务加强、应用瘦身、应用传输安全、Swift 加强 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
1173 0
|
iOS开发 数据可视化 前端开发
iOS7应用开发11:列表视图TableView、iPad应用
1、列表视图TableView 用于在一个一维的列表中显示数据的方法,是滚动条视图的派生来;有动态和静态两种类型,也可以设置为plain和grouped两种风格;通过data source和delegate来设置不同的显示数据和表格属性。
1166 0
|
iOS开发
推荐给开发和设计人员的iPad应用
葫芦瓢送了一部iPad,把玩几天后,不管是从iTunes商店的推荐,还是各种应用推荐软件的列表中,没有找到特别好的应用。还是利用搜索引擎,找到了一些对开发人员和设计人员还不错的应用,分享出来,供大家参考。
897 0
|
前端开发 iOS开发 设计模式
《iPhone与iPad开发实战—iOS经典应用剖析》连载八
<span style="font-size:18px"><strong>3.3.5 <span style="font-family:黑体">主视图控制器代码</span></strong></span><br><br><span style="font-family:宋体">主视图控制器是</span>MainViewController<span style="font-family
1190 0
|
定位技术 数据安全/隐私保护 iOS开发
《iPhone与iPad开发实战—iOS经典应用剖析》连载七
<span style="font-size:18px"><strong>3.3.4<span style="font-family:黑体">主视图代码</span></strong></span><br><br><span style="font-family:宋体">在本应用中主视图中使用的视图是</span>MainView<span style="font-family:宋体">,
1540 0
|
数据安全/隐私保护 iOS开发
《iPhone与iPad开发实战—iOS经典应用剖析》连载六
<span style="font-size:18px"><strong>3.3.3 <span style="font-family:黑体">主视图</span>UI </strong></span><br><br><span style="font-family:宋体">主视图如图</span>3-36<span style="font-family:宋体">所示是</span>Ma
1218 0
|
iOS开发 索引
《iPhone与iPad开发实战—iOS经典应用剖析》连载五
RootViewController<span style="font-family:宋体">的</span>h<span style="font-family:宋体">文件编写完成我们接着编写</span>RootViewController<span style="font-family:宋体">的</span>m<span style="font-family:宋体">文件如“代码清
1020 0
|
iOS开发
《iPhone与iPad开发实战—iOS经典应用剖析》连载三
3.3     应用实战与讲解<br> 这一节我们将实际编写这个应用,边做边讲解的方式。按照搭建应用骨架、视图翻转动画、主视图UI和代码、主视图控制器代码、背后视图UI和代码、背后视图控制器,这样的顺序编写和讲解。<br> 3.3.1     构建应用骨架<br> 在本书采用Xcode3.2工具中提供了一个编写实用型应用程序的模板,图3-11是Xcode3.2的模板,其中Utilit
1270 0
|
前端开发 数据安全/隐私保护 iOS开发
《iPhone与iPad开发实战—iOS经典应用剖析》连载二
<span style="font-size:24px"><strong><span style="font-family:times">3.2  </span> <span style="font-family:黑体">应用剖析</span></strong></span><br><span style="font-family:宋体">这一节我们从应用的类图如入手,了解应用中有哪些类
1122 0
热门文章
最新文章
相关产品
云迁移中心
推荐文章
更多