在Xcode 4.3.2中,我们使用interface Builder创建一个视图界面,我们选择的是IOS中的Application的single ViewApplication视图,此模版会帮我们自动构建好需要的文件。包含两个类:AppDelegate和ViewController和xib文件即图形界面设计。
ViewController文件是继承的UIViewController基类,UIViewController是ViewController的父类,是一个通用控制器,也是UIKit的一部分。
当我们在xib文件中添加标签控件的时候,可以通过interface Builder创建三个元素,也可以通过修改代码带达到我们想要的效果,这里就有图形和代码元素的交互。
因此,控制器类可以使用一种特殊的实例变量来引用xib中的对象,这个变量就是输出口outlet。可以把输出口看成是指向xib中对象的指针。
例如,你在IB(interface Builder缩写)中创建一个文本标签,希望在代码中修改该标签文本。可以通过声明一个输出口,并将其指向此标签对象。怎么添加声明呢,我们需要在ViewController.h中进行声明:IBoutlet UILabel *myLabel;上述代码,我们引用了outlet输出口,通过输出口来实现声明并通过代码修改代码的效果。
也可以设置xib文件中的界面对象触发控制器类中的特殊方法,这些特殊方法称为操作方法。可以告诉IB,当用户放手按键时,应当调用代码中的特定操作方法。
输出口是使用关键字IBOutlet声明的实例变量。控制器头文件的输出口声明应如下所示:
IBOutlet UIButton *myButton;
而IBOutlet关键字的定义为:
#ifndef IBOutlet
#define IBOutlet
#endif
通过上述定义,我们可以看到输出口没有进行任何操作,唯一作用就是告诉IB此实例变量将被连接到xib中的对象。你创建的任何需要链接到xib文件中的对象的实例变量都必须以IBOutlet关键字开头。打开IB时,它会在项目头文件中扫描此关键字,并允许你根据这些变量将代码连接到xib中,那是怎么通过IB在输出口和用户界面xib之间建立连接的呢?
我们先再提一个概念:操作。操作是控制器类中的方法。他们通过特殊关键字:IBAction声明。该关键字告诉IB此方法是一个操作,且可以被某个控件出发。
声明如下:-(IBAction)doSomething:(id)sender;
该方法的实际名称是没有限制的,同OC一致。但返回值类型必须是IBAction,与声明void返回值相同。这是声明操作方法不返回任何值的另一种方法。(注明:void与IBAction同样效果实现无返回值),并接受了一个参数,该参数通常被声明为id类型,名称为sender。出发操作的空间将使用sender参数引用其自身。如果你的操作方法将在按下按钮时被调用,则sender参数将包含对该特定按钮的引用。
分享到:
相关推荐
OS6开发指南视频-源码ppt:视图控制器与导航模式 通过本章的学习你已经可以判断你的应用是不是需要一个导航功能,并且知道在什么情况下选择平铺页面导航、标签导航、树形结构导航中的哪一种或者同时综合使用三种导航...
IOS应用源码之【应用】NIB to Objective-C converter.rar
3.3.3 将操作和输出口添加到视图控制器 3.3.4 将操作和输出口添加到实现文件 3.4 使用应用程序委托 3.5 编辑MainWindow.xib 3.6 编辑Button_FunViewController.xib 3.6.1 在InterfaceBuilder中创建...
3.3.3 将操作和输出口添加到视图控制器 3.3.4 将操作和输出口添加到实现文件 3.4 使用应用程序委托 3.5 编辑MainWindow.xib 3.6 编辑Button_FunViewController.xib 3.6.1 在InterfaceBuilder中创建视图 ...
这是一个ios开发相关的,将xib文件转为nib文件的轻便脚本文件,大家来试试~!主要用在组件化开发中使用xib的情况,需要将xib文件转为nib
这里我在iOS中使用三种不同的方式实现UICollectionView,也就是一种瀑布流视图。分别使用storyboard、nib和纯代码的方式来实现。 ##1.项目说明 UICollectionView继承自UITableView,基本的实现方式同...
iOS应用开发攻略内容推荐: 《iOS应用开发攻略》收录了最新的iOS软件开发的最佳做法,涵盖了应用开发及构建优雅解决方案的必备知识,包括:编写通用的启动画面和嵌入式Web浏览器;构建复杂表视图;使app或游戏...
IOS应用源码之akosma-nib2objc-1.4-12-gcde9b9e.zip
使用NIB父类来创建UIVIEW
使用nib和故事板技术创建HelloWorld,通过HelloWorld我们讨论了iOS工程模板、应用的运行机制和生命周期、视图器的生命周期。最后介绍API帮助文档和官方案例的使用。 第3章“iOS常用设计模式”。 iOS开发中常用的4种...
16.2 实现图像选取器控制器委托 387 16.3 实际测试照相机和库 389 16.3.1 设计界面 390 16.3.2 实现照相机视图控制器 390 16.4 小结 394 第17章 应用程序本地化 395 17.1 本地化体系结构 395 17.2 使用字符串文件 ...
轻量级标签栏控制器,旨在实现最大的可定制性。 它只是处理切换视图的工作,其他一切都由您自定义。 支持使用 NIB 文件创建主视图。 特征: 在单个类中同时支持基于 nib 的模式和基于loadView的模式。 不会在您的...
此DEMO包含全代码实现tableview,数据库读取等功能
这个小工具使用很方便!只需打开nib2objc,然后Dock会出现一个nib2objc图标! 接着你把想反解都xib托进去即可获得xib里面都代码!
If you’re getting started with iOS development, or want a firmer grasp of the basics, this practical guide provides a clear view of its fundamental building blocks—Objective-C, Xcode, and Cocoa ...
2.storyboard描述了视图之间的动画,这些动画叫做"segues"你可以很容易的通过从一个视图控制器(点ctrl-dragging)拖拽到另一个来实现,感谢"segues"让我们不需要写代码去控制页面跳转了。 3.storyboard通过新的cell...
用来将Interface Builder文件转换成Objective-C代码
控制视图 nib nib-health-funds/control组件的 nib 特定视图。