XCode Interface Builder开发——1

创建Xcode项目

  • 选择第二个选项

  • 选择Single View App,点击Next

  • 设置完后点击Next


Xcode基本面板

  • 导航面板

  • 工具栏项目


简单的练手项目

要求:

创建三个按钮和一个label控件,通过对不同按钮添加事件来改变label的颜色和字体

步骤:

  • 将label和button拖拽入view controller的view中

  • 点击要修改的控件,通过打开attributes inspector将按钮名称分别改为红、黄、蓝色,label的text改为"这是一段文字“

  • 在ViewController的.m源文件中的类扩展中添加label属性:

@interface ViewController ()

@property(nonatomic,weak) IBOutlet UILabel *label; //任何需要连接到nib文件中的对象的实例变量都必须以IBOutlet关键字开头

@end
  • 将属性与刚刚拖入的label控件进行连线

  • 在ViewController的.m源文件中写入代码:

//IBAction关键字告诉Interface Builder,此方法是一个操作,且可以被某个控件触发
-(IBAction)clickRedButton:(id)sender{
NSLog(@"按下了红色按钮!"); //在控制台通知
self.label.textColor=[UIColor redColor]; //改变label颜色
} -(IBAction)clickYellowButton:(id)sender{
NSLog(@"按下了黄色按钮!");
self.label.textColor=[UIColor yellowColor];
self.label.font=[UIFont systemFontOfSize:20.f];
} -(IBAction)clickblueButton:(id)sender{
NSLog(@"按下了蓝色按钮!");
self.label.textColor=[UIColor blueColor];
self.label.font=[UIFont systemFontOfSize:30];
}
  • 操作同上,将这三个方法分别与三个新建的按钮进行连线:

  • 点击运行


重点

  • IBOutlet

该关键字的作用是告诉Interface Builder,此实例变量将被连接到nib中的对象。你创建的任何需要连接到nib文件中的对象的实例变量都必须以IBOutlet关键字开头。打开Interface Builder时,它会在项目头文件中扫描此关键字,可以根据这些(且只能根据这些)变量将代码连接到nib。

@property(nonatomic,weak) IBOutlet UILabel *label;
//该处使用weak是因为控件一直是在ViewController类中存在的,并且为强引用,此处为了不影响控件,其属性应为弱引用,若为强引用可能会造成在ViewController中删除控件后,其引用个数仍为1的情况。
  • IBAction

该关键字告诉Interface Builder,此方法是一个操作,且可以被某个控件触发

  • 判断是否能连线

    1、属性(IBOutlet)都能连线

    2、方法(IBAction)需要看连线对象是否继承于UIControl

  • 连接方法补充:

XCode Interface Builder开发——1的更多相关文章

  1. XCode Interface Builder开发——2

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

  2. ***Xcode Interface Builder或Storyboard中可建立那两种连接?

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

  3. IOS 使用Interface Builder开发界面入门与技巧

    引言: 通过Interface Builder(简称IB)来制作界面一直是iOS开发界饱受争议的方式.主要争议的话题是不太适合团队协作开发,再就是对IB的使用比较生疏,觉得IB只能完成一些很简单的功能 ...

  4. 苹果开发工具:Xcode和Interface Builder

    摘要:在Mac OS X上开发,首选Xcode继承开发环境.本文对开发工具套件中最重要的Xcode和Interface Builder两个工具做了简要介绍,并提供<苹果开发工具概述>PDF ...

  5. iOS开发工具Xcode:Interface Builder

    简介: Interface Builder(IB)是Mac OS X平台下用于设计和测试用户界面(GUI)的应用程序(非开源).为了生成GUI,IB并不是必需的,实际上Mac OS X下所有的用户界面 ...

  6. [转]使用 Xcode 5 和 Interface Builder创建 Hello World App

    转载地址:http://www.ithome.me/archives/581.html 使用 Xcode 5 和 Interface Builder创建 Hello World App 发表回复 当x ...

  7. iOS 8 Auto Layout界面自动布局系列2-使用Xcode的Interface Builder添加布局约束

    http://blog.csdn.net/pucker/article/details/41843511 上一篇文章<iOS 8界面自动布局系列-1>简要介绍了iOS界面布局方式的前世今生 ...

  8. 【转 iOS 8 Auto Layout界面自动布局系列2-使用Xcode的Interface Builder添加布局约束

    原文网址:http://blog.csdn.net/pucker/article/details/41843511 上一篇文章<iOS 8界面自动布局系列-1>简要介绍了iOS界面布局方式 ...

  9. 转:Cocoa、Foundation、UIKit、Objective-c、XCode、Interface Builder的概念

    Cocoa 是在Mac OS X系统上原生的一个编译环境.他包含两个框架,其实就是一系列的类库,Foundation和AppKit. 在你的iPhone等掌上设备上,使用的则是他的一个子类 - Coc ...

随机推荐

  1. 使用JAVA API编程实现简易Habse操作

    使用JAVA API编程实现下面内容: 1.创建<王者荣耀>游戏玩家信息表gamer,包含列族personalInfo(个人信息).recordInfo(战绩信息).assetsInfo( ...

  2. .net多线程归并排序

    一.概述 在了解排序算法的同时,想到用多线程排序减少排序的时间,所以写了一个简单的示例,加深印象.下面是具体代码 二.内容 环境:vs2017,.net  core 2.2 控制台程序. 运行时使用r ...

  3. Redis(三):多机数据库的实现

    复制 在Redis中,用户可以通过SLAVEOF命令或是slaveof选项设置服务器的主从关系,从(SLAVE)服务器会复制主(Master)服务器. 旧版复制功能实现(2.8以前) 旧版复制功能主要 ...

  4. WSFC与DFS

    WSFC里面的文件服务器群集,文件始终是一份,数据始终存放在群集磁盘中,通过群集来维持文件服务器这项服务始终持续可用,在2012之前同一时间WSFC只能有一台节点对外提供文件服务,2012开始群集引入 ...

  5. CentOS+Subversion 配置Linux 下 SVN服务器

    1.安装#yum install subversion测试安装是否成功:#svnserve –version     回车显示版本说明安装成功 2.配置 ·建立版本库 #mkdir /opt/svnd ...

  6. Arduino入门简介

    先说Arduino是什么? 1.一个平台,开源电子原型平台,包含小板子(UNO开发板.PRO Mini板登)和电脑上安装的软件(IDE). 2.能通过传感器(红外.温度.超声波传感器...)等来感知环 ...

  7. System.Linq.Dynamic字符串转委托

    以前一直想着有没有一个方法能够把字符串直接转化成函数的,刚好有需求就找了下,还真有. 微软地址:https://docs.microsoft.com/en-us/previous-versions/b ...

  8. P5343 【XR-1】分块(dp矩阵加速)

    \(大意是用数组a里的数字,组成一个序列,使得序列和为n的方案种数\)传送门 \(先考虑dp.\) \(但是不能直接用背包转移,因为是序列,要考虑顺序.\) \(所以,为了去重,我们令dp[i][j] ...

  9. 封锁阳光大学(染色)P1330

    题目:https://www.luogu.com.cn/problem/P1330 阳光大学的校园是一张由 n 个点构成的无向图,n 个点之间由 m 条道路连接.每只河蟹可以对一个点进行封锁,当某个点 ...

  10. 抓住CoAP协议的“心”

    摘要 The Constrained Application Protocol(CoAP)是一种专用的Web传输协议,用于受约束的节点和受约束的(例如,低功率,有损)网络. 节点通常具有带少量ROM和 ...