XCode Interface Builder开发——1
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的更多相关文章
- XCode Interface Builder开发——2
XCode Interface Builder开发--2 简单的练手项目--仿苹果自备的计算器 简介 制作一个简易功能的计算器并非难事,但是其中要考虑的不同情况却仍有许多,稍不留神就会踩坑. 例如: ...
- ***Xcode Interface Builder或Storyboard中可建立那两种连接?
在Xcode Interface Builder或Storyboard中,可建立到输出口(IBOutlet)和操作(方法,IBAction)的连接. IBOutlet are for output C ...
- IOS 使用Interface Builder开发界面入门与技巧
引言: 通过Interface Builder(简称IB)来制作界面一直是iOS开发界饱受争议的方式.主要争议的话题是不太适合团队协作开发,再就是对IB的使用比较生疏,觉得IB只能完成一些很简单的功能 ...
- 苹果开发工具:Xcode和Interface Builder
摘要:在Mac OS X上开发,首选Xcode继承开发环境.本文对开发工具套件中最重要的Xcode和Interface Builder两个工具做了简要介绍,并提供<苹果开发工具概述>PDF ...
- iOS开发工具Xcode:Interface Builder
简介: Interface Builder(IB)是Mac OS X平台下用于设计和测试用户界面(GUI)的应用程序(非开源).为了生成GUI,IB并不是必需的,实际上Mac OS X下所有的用户界面 ...
- [转]使用 Xcode 5 和 Interface Builder创建 Hello World App
转载地址:http://www.ithome.me/archives/581.html 使用 Xcode 5 和 Interface Builder创建 Hello World App 发表回复 当x ...
- iOS 8 Auto Layout界面自动布局系列2-使用Xcode的Interface Builder添加布局约束
http://blog.csdn.net/pucker/article/details/41843511 上一篇文章<iOS 8界面自动布局系列-1>简要介绍了iOS界面布局方式的前世今生 ...
- 【转 iOS 8 Auto Layout界面自动布局系列2-使用Xcode的Interface Builder添加布局约束
原文网址:http://blog.csdn.net/pucker/article/details/41843511 上一篇文章<iOS 8界面自动布局系列-1>简要介绍了iOS界面布局方式 ...
- 转:Cocoa、Foundation、UIKit、Objective-c、XCode、Interface Builder的概念
Cocoa 是在Mac OS X系统上原生的一个编译环境.他包含两个框架,其实就是一系列的类库,Foundation和AppKit. 在你的iPhone等掌上设备上,使用的则是他的一个子类 - Coc ...
随机推荐
- PHP $_FILES的应用
关于文件上传这块,如果处理不好的话,很容易成为黑客入侵的开口,例如黑客在你这个上传接口里放一段木马的文件,那只能祝你好运了. 所以,我们上传文件的时候都会先判断, 但是一般的操作是先上传,再判断,如果 ...
- php数组gbk和utf8的相互转化
GBK转换成UFT-8用iconv()转化效率没有mb_convert_encoding()效率高eval() var_export() 把数组整体转化,如有一些特殊字符的话,可以用str_repla ...
- python25之进制转换
一.进制转换函数 bin():将十进制转换为二进制 oct():将十进制转换为八进制 hex():将十进制转换为十六进制 >>> x=1234>>> bin(x)' ...
- docker配置dns与容器的访问控制(6)
Docker 没有为每个容器专门定制镜像,那么怎么自定义配置容器的主机名和DNS配置?秘诀就是它利用虚拟文件来挂载到容器的3个相关的配置文件. 进入容器内使用mount命令可以看到挂载信息,这种机制可 ...
- HTML JavaScript 基础(下)
一.JavaScript 函数 1.普通函数-有函数名 function func(){ } 2.匿名函数-无函数名 setInterval(function(){ console.log(123); ...
- Linux指令面试题01-进程查看与终止
查看某一进程是否运行:ps -ef|grep 程序名 终止程序: kill pid 转载于:https://www.cnblogs.com/feihujiushiwo/p/10896636.html
- Babel 在浏览器环境使用方法
Babel 也可以用于浏览器环境.但是,从 Babel 6.0 开始,不再直接提供浏览器版本,而是要用构建工具构建出来.如果你没有或不想使用构建工具 1.通过安装5.x版本的babel-core模块获 ...
- Salesforce吹嘘无代码开发,不用费脑子的人工智能
Salesforce在星期四举办的Dreamforce '16大会上,开发人员主题演讲可谓面面俱到--听众被舞台包围了,而不是远远地坐在观众席. 这是符合该公司在六月份第一次的开发者大会Trailhe ...
- 外媒评Mate 10 Pro:智慧拍照惊人,续航能力卓越
说到近期的热门机型,华为Mate 10 Pro绝对算是被人们谈论最多的一个,其可以算是首款搭载移动AI芯片的顶级旗舰机型,而且AI技术在这部手机上拥有多项实际的应用,带来的体验非传统智能手机可比. 由 ...
- DeepWalk论文精读:(1)解决问题&相关工作
模块1 1. 研究背景 随着互联网的发展,社交网络逐渐复杂化.多元化.在一个社交网络中,充斥着不同类型的用户,用户间产生各式各样的互动联系,形成大小不一的社群.为了对社交网络进行研究分析,需要将网络中 ...