在Xcode Interface Builder或Storyboard中,可建立到输出口(IBOutlet)和操作(方法,IBAction)的连接。

IBOutlet are for output Controls like Labels and TextFields, while IBAction are mostly for Objects like Buttons.

到 IBOutlet的连接可以实现在代码中引用和使用 UI 元素,如Label、TextBox等等;

— 创建连接的方法(1) :按住Control 键,并从场景的View Controller 图标,拖曳到视图中可视化 UI 上;释放按键,将出现一个下拉列表菜单,其中列出了可供选择的IBOutlet(输出口,或变量),正确选择即可。

— 创建连接的方法(2) :按住Control 键,并从可视化的 UI 元素(如Label、TextField等等)上拖曳到对应的interface 头文件上。Xcode 在屏幕上显示一条线,表示连接。在幕后,Storyboard中添加一段XML语句,表示上述连接。

在释放按钮后,将弹出窗口,让你配置连接参数。在Connection 字段选择 IBOutlet 作为连接类型。同时,指定IBOutlet参数名称(Name),后面的代码中会使用到。另外,正确选择对象类型Type和存储类型 Storage,如下图所示:

右击 TextField UI 元素,将弹出 Connection Objects 列表。可以看到Reference Outlets节点,TextField 和View Controller之间的连接;另外, 在头文件中,也可以看到IBOutlet变量前面有一个点,表示已建立了连接。如下图所示:

到IBAction 的连接,定义了一个UI 事件,如点击按钮Button,该事件将执行操作方法(也就是触发代码中的方法)。

— 创建连接的方法(1) :首先在Interface Builder 界面,选择需要调用或关联操作的 UI 元素,如Button,并点击 Utility 区域顶部的箭头头部(Connections Inspector -连接检查器)。Connections Inspector 显示了当前对象(Button)所支持的事件列表,可单击相应方法的圆圈,并将其拖曳到文档大纲区域中的View Controller 图标上。

在释放鼠标,选择相应的操作或方法,即可完成。

— 创建连接的方法(2) :选择Button,重复上面的操作方法。但是这一次,选择IBAction作为连接。

可注意到 Type 变为id,且出现了2个新的配置项:Event 和 Arguments。对于 Event,可选择 Touch Up Outside,对于 arguments 项,保持默认的 Sender 值。点击Connect按钮,在头文件中创建相应的代码,并建立连接。

下图是建立和IBOutlet 和 IBAction 连接之后,interface 文件中变量和方法前面的点标识示意:

***Xcode Interface Builder或Storyboard中可建立那两种连接?的更多相关文章

  1. XCode Interface Builder开发——2

    XCode Interface Builder开发--2 简单的练手项目--仿苹果自备的计算器 简介 制作一个简易功能的计算器并非难事,但是其中要考虑的不同情况却仍有许多,稍不留神就会踩坑. 例如: ...

  2. XCode Interface Builder开发——1

    XCode Interface Builder开发--1 创建Xcode项目 选择第二个选项 选择Single View App,点击Next 设置完后点击Next Xcode基本面板 导航面板 工具 ...

  3. MySQL中MyISAM和InnoDB两种主流存储引擎的特点

    一.数据库引擎(Engines)的概念 MySQ5.6L的架构图: MySQL的存储引擎全称为(Pluggable Storage Engines)插件式存储引擎.MySQL的所有逻辑概念,包括SQL ...

  4. [转]Qt中定时器使用的两种方法

    Qt中定时器的使用有两种方法,一种是使用QObject类提供的定时器,还有一种就是使用QTimer类. 其精确度一般依赖于操作系统和硬件,但一般支持20ms.下面将分别介绍两种方法来使用定时器. 方法 ...

  5. linux内核分析作业4:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

    系统调用:库函数封装了系统调用,通过库函数和系统调用打交道 用户态:低级别执行状态,代码的掌控范围会受到限制. 内核态:高执行级别,代码可移植性特权指令,访问任意物理地址 为什么划分级别:如果全部特权 ...

  6. Java中HashMap遍历的两种方式

    Java中HashMap遍历的两种方式 转]Java中HashMap遍历的两种方式原文地址: http://www.javaweb.cc/language/java/032291.shtml 第一种: ...

  7. jqGrid中实现radiobutton的两种做法

    http://blog.sina.com.cn/s/blog_4f925fc30102e27j.html   jqGrid中实现radiobutton的两种做法 ------------------- ...

  8. php获取数组中重复数据的两种方法

    分享下php获取数组中重复数据的两种方法. 1,利用php提供的函数,array_unique和array_diff_assoc来实现 <?php function FetchRepeatMem ...

  9. jQuery中开发插件的两种方式

    jQuery中开发插件的两种方式(附Demo) 做web开发的基本上都会用到jQuery,jQuery插件开发两种方式:一种是类扩展的方式开发插件,jQuery添加新的全局函数(jQuery的全局函数 ...

随机推荐

  1. oracle 日志文件管理

    OS: [root@b28-122 ~]# more /etc/oracle-releaseOracle Linux Server release 5.7 DB: SQL> select * f ...

  2. 使用checked关键字处理“溢出”错误

    在进行算术运算时,可以使用checked关键字有效处理溢出错误,使用checked关键字可能对程序的性能会有一点点的影响,这是一种以牺牲性能换取健康的做法. private void button1_ ...

  3. AppCan认为,移动APP开发不是技术活

    很多粉丝反应,AppCan的文章太专业了,技术大大们毫不费劲,小白看的晕乎乎. 时代变了,5年前,AppCan的受众只有开发者.现在,政府高管.集团董事长.非技术类管理者.中小企业主.各行各业的管理者 ...

  4. hdu 1867 A + B for you again

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1867 A + B for you again Description Generally speaki ...

  5. go again

    Introducation (1)How to organize go code (2)How to develope go package (3)How to use go tool How to ...

  6. MVC 局部加载页面的实例

    我们在做MVC 进行某一块的局部刷新,有的使用AJAX 请求,有的使用局部页: 下面我给大家推荐一种使用局部页面实现的这种方式: 第一步: 嵌套视图页 <div id="showAud ...

  7. UserDefault 用户首选项读写 swift

    // // ViewController.swift // 首选项数据读写 // // Created by mac on 15/7/12. // Copyright (c) 2015年 fangyu ...

  8. < java.lang >-- StringBuilder字符串缓冲区

    JDK1.5出现StringBuiler:构造一个其中不带字符的字符串生成器,初始容量为 16 个字符.该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候( ...

  9. 项目中添加Log4J支持

    首先,在项目中的classes 中新建立一个log4j.properties文件即可: 在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义.定义步骤就是对Logger.Append ...

  10. B-tree/B+tree/B*tree [转]

    (原文出处:http://blog.csdn.net/hbhhww/article/details/8206846) B~树 1.前言: 动态查找树主要有:二叉查找树(Binary Search Tr ...