设为首页 加入收藏

TOP

iOS视图控制器与标签传递nib的输出口outlet
2014-11-24 12:54:04 来源: 作者: 【 】 浏览:0
Tags:iOS 控制器 标签 传递 nib 出口 outlet

视图控制器与标签传递nib的输出口outlet


在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参数将包含对该特定按钮的引用。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇使用Python创建xml文件 下一篇Objective-C函数重载

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·哈希表 - 菜鸟教程 (2025-12-24 20:18:55)
·MySQL存储引擎InnoDB (2025-12-24 20:18:53)
·索引堆及其优化 - 菜 (2025-12-24 20:18:50)
·Shell 中各种括号的 (2025-12-24 19:50:39)
·Shell 变量 - 菜鸟教 (2025-12-24 19:50:37)