`

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


分享到:
评论

相关推荐

    iOS6开发指南视频源码ppt-视图控制器与导航模式.rar

    OS6开发指南视频-源码ppt:视图控制器与导航模式 通过本章的学习你已经可以判断你的应用是不是需要一个导航功能,并且知道在什么情况下选择平铺页面导航、标签导航、树形结构导航中的哪一种或者同时综合使用三种导航...

    iOS视图及视图控制器PPT课件.pptx

    本课件主要介绍了iOS中的窗口与视图、视图控制器及其应用实例。 首先,我们来了解一下iOS的窗口(Window)与视图(View)。在iOS中,窗口(UIWindow)是一个特殊的视图(UIView)对象,它作为应用程序的顶级容器,...

    ios应用源码之视图控制器(无动画版) 20181210

    在iOS应用开发中,视图控制器(UIViewController)是构建用户界面的核心组件,它负责管理一个或多个视图的生命周期和行为。本资源“ios应用源码之视图控制器(无动画版)20181210”提供了一个基础的、不包含动画效果...

    Object-C 中将视图控制器加到UIWindow

    UIWindow是iOS应用的基础,它是所有视图和视图控制器的容器。本篇文章将详细讲解如何在Objective-C中将视图控制器添加到UIWindow,以及三种实现这一操作的方法。 **方法一:使用`makeKeyAndVisible`** 这是最基础...

    IOS视图控制器的生命周期实例详解

    iOS中的视图控制器(UIViewController)是构建用户界面的核心组件,它的生命周期是指从创建到销毁过程中一系列方法的调用顺序。了解这些生命周期方法对于正确管理视图控制器的状态和更新UI至关重要。下面我们将详细...

    IOS应用源码之【应用】NIB to Objective-C converter.rar

    - 这个转换器工具读取NIB文件的XML内容,然后将其转换成Objective-C代码,这些代码通常包括初始化视图控制器、创建UI元素、设置属性以及建立控件间的连接。 - 转换后的代码可以帮助开发者了解NIB文件内部的结构,...

    addChildViewController transitionFromViewController nib storyboard

    在iOS开发中,`addChildViewController`、`transitionFromViewController`以及`nib`和`storyboard`是四个关键概念,它们都是构建用户界面和管理视图控制器之间交互的重要工具。让我们详细了解一下这些知识点。 首先...

    iPhone开发基础教程 源码

     3.3.3 将操作和输出口添加到视图控制器  3.3.4 将操作和输出口添加到实现文件  3.4 使用应用程序委托  3.5 编辑MainWindow.xib  3.6 编辑Button_FunViewController.xib  3.6.1 在InterfaceBuilder中创建...

    iOS 实现页面跳转

    在iOS开发中,页面跳转是应用程序中不可或缺的一部分,它允许用户在不同的视图和控制器之间导航。本教程将深入探讨如何在iOS中实现页面跳转,特别关注新手开发者的需求。我们将讨论两种主要的页面跳转方式:模态...

    xib转nib脚本.zip

    在iOS应用开发中,XIB(Interface Builder Document)和NIB(NeXT Interface Builder)文件是两种用于描述用户界面布局的资源。它们都是XML格式,用于定义UI元素、控件和它们之间的关系。然而,两者之间存在一些差异...

    使用NIB父类来创建UIVIEW

    例如,在其他控制器中,我们可以这样做: ```swift let myView = MyView(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) view.addSubview(myView) ``` 通过这种方式,我们可以创建一个可重用的UI组件,...

    nib2objc工具

    nib2objc工具是一款针对iOS开发的实用小工具,它的主要功能是将.xib或.storyboard文件转换为Objective-C代码,方便开发者快速地将界面设计与代码实现相结合。在这个过程中,nib2objc能够帮助开发者节省大量的手动...

    ios 反编译工具

    3. **动态分析**:通过与Dyld(动态链接加载器)交互,Hopper可以观察运行时的内存布局和函数调用,这在调试和分析运行时行为时十分关键。 4. **优化视图**:Hopper提供了优化的代码视图,使得阅读和理解反编译结果...

    IOS应用源码之akosma-nib2objc-1.4-12-gcde9b9e.zip

    《iOS应用源码详解:akosma-nib2objc-1.4-12-gcde9b9e.zip》 在iOS应用开发中,源码的理解与掌握是提升开发效率和质量的关键。本篇文章将深入探讨开源项目akosma-nib2objc-1.4-12-gcde9b9e,它是一个工具,用于将...

    IOS应用源码——自定义的tab bar 视图.zip

    Tab Bar Controller是UIKit框架中的一个关键组件,它是用于在多个视图控制器之间进行切换的容器视图控制器。系统默认的Tab Bar会显示一系列的Tab Bar Item,每个Item对应一个导航控制器或视图控制器。然而,有时我们...

    iPhone开发基础教程PDF(含源代码)

     3.3.3 将操作和输出口添加到视图控制器  3.3.4 将操作和输出口添加到实现文件  3.4 使用应用程序委托  3.5 编辑MainWindow.xib  3.6 编辑Button_FunViewController.xib  3.6.1 在InterfaceBuilder中创建视图 ...

    隐式切换主控制器代码

    在iOS开发中,主控制器(通常指`UIViewController`或其子类)是应用程序的核心部分,它负责管理用户界面和业务逻辑。"隐式切换主控制器代码"是一个高级编程技巧,用于在运行时动态地更改应用的主视图控制器,而无需...

    nib2objc源码

    其中,生成的代码可能包含视图控制器、视图、控件等对象的初始化,以及接口连接的代码。 4. **Objective-C语法和特性**: 在转换过程中,nib2objc需要理解Objective-C的语法,如消息传递、类别、协议、属性等,...

    iOS6开发指南视频-HelloiOS源码ppt

    7. **事件处理**:在iOS应用中,用户与界面的交互由事件驱动,开发者需要了解如何处理触摸事件(如点击按钮),以及如何在不同的视图控制器之间传递数据。 8. **程序运行与调试**:通过源码和视频教程,开发者还将...

Global site tag (gtag.js) - Google Analytics