IOS中视图控制器与标签传递nib的输出口outlet
2013-12-03 18:46
211 查看
视图控制器与标签传递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参数将包含对该特定按钮的引用。
在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参数将包含对该特定按钮的引用。
相关文章推荐
- ios视图控制器与标签传递nib的输出口outlet
- ios视图控制器与标签传递nib的输出口outlet
- 学校学习ios教程笔记,第十二节初识ios控制器中的标签视图控制器
- iOS 7 标签栏控制器进行模态视图跳转后变成透明
- iOS之通过事件传递机制获取视图的控制器
- iOS个人整理16-标签视图控制器--UITabBarController
- iOS中的UITabBarController(标签视图控制器)
- ]ios标签视图控制器中角标的定制
- iOS:切换视图的第三种方式:UITabBarController标签栏控制器
- iOS开发:标签视图控制器(UITabBarController)
- iOS 导航控制器、标签、表视图的创建方法
- iOS_UITabBarController 标签视图控制器
- iOS开发中视图控制器ViewControllers之间的数据传递
- iOS开发--标签视图控制器--UITabBarController
- iOS基础之UITabBarController(标签视图控制器)
- IOS使用视图控制器和视图(八)Label 标签的属性
- iOS--项目最常见框架的搭建(标签栏控制器+导航栏控制器+视图控制器)
- iOS创建不带nib文件的工程之二--添加视图和视图控制器
- iOS CoCoa编程中视图控制器与视图类(转)
- 指定HTML标签属性 |Specifying HTML Attributes| 在视图中生成输出URL |高级路由特性 | 精通ASP-NET-MVC-5-弗瑞曼