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

原创 2013年12月03日 18:46:43

                                        视图控制器与标签传递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参数将包含对该特定按钮的引用。

相关文章推荐

iOS开发--标签视图控制器--UITabBarController

UITabBarController也是和UINaVigationController一样是多视图控制器 ,但是他和导航视图控制器不太一样,在对视图控制器管理上 ,导航视图控制器通过push pop进...

iOS编程------标签视图控制器-UITabBarController

// // AppDelegate.h // UI13_UITabBarController // // Created by l on 15/9/17. // Copyright (c) 2...

iOS个人整理16-标签视图控制器--UITabBarController

一、UITabBarController 微信底部那一排 微信、通讯录、发现、朋友圈,就是UITabBarController 它上面的控制的四个视图控制器是平级的,一般情况下将self.window...

iOS_UITabBarController 标签视图控制器

标签视图控制器 是一种多视图控制器 ,管理具有并列关系的视图控制器,同时存在。一旦视图视图控制器的界面超过五个时,自动将最后一个标签换成more,剩余的标签全部在more中显示标签视图控制器属性配置这...

iOS开发:标签视图控制器(UITabBarController)

iOS开发:标签视图控制器(UITabBarController) 一:了解: 1、结构:三层 2.重要的属性 3.运用:微信、QQ等都有运用(底下的每一个图标对应着一个视图控...

【iOS7的一些总结】3、视图控制器ViewControllers之间的数据传递(2)

上文中记录了在手写代码实现UI的情况下,界面切换时不同视图控制器之间数据传递的机制。显示和消除界面使用的函数时presentViewController和dismissViewController函数...

学校学习ios教程笔记,第十二节初识ios控制器中的标签视图控制器

标签视图控制器 首先要在AppDelegate中创建一个UITabBarController() 创建多个ViewController()         let vc = ViewContro...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS中视图控制器与标签传递nib的输出口outlet
举报原因:
原因补充:

(最多只允许输入30个字)