从零开始学iPhone开发(2)——控件的使用
这一节我们开始学习iOS中简单控件的使用。
在iOS编程中,简单的控件有很多,其中主要的用的多的有:
UILabel,UIButton,UISegmentedControl, UITextField, UISlider, UISwitch
等。现在我们来学习使用这些控件。
1.首先我们学习在xib上来使用,
如下图,在工程中新建一个TestComponentViewController,并且选中With xib复选框,如下图
然后点击TestComponentViewController.xib文件,拖动右下角的控件到界面上(类似VS),如下图常用控件都可以直接拖进去。
现在我们需要对这些控件进行操作,该如何做呢?这里演示UILabel和UIButton的操作,其它操作类似。
如下图,我们首先在TestComponentViewController.h文件中定义需要操作的控件成员变量(以IBOutlet修饰),并且定义点击UIButton后触发的消息函数(以IBAction来修饰),代码如下:
#import <UIKit/UIKit.h> @interface TestComponentViewController : UIViewController{
IBOutlet UILabel *_label;
IBOutlet UIButton *_button;
} -(IBAction)buttonClicked:(id)sender; @end
现在我们需要把代码和xib中的拖到界面上的控件连接对应起来,这样代码操作的就是xib上面的控件。如下图:
对UILabel和成员变量_label进行连接的做法,类似UIButton和成员变量_button可进行同样的连接,消息函数和_button也可以进行同样的连接。
然后我们在TestComponentViewController.m中实现-(IBAction)buttonClicked:(id)sender;消息,实现代码如下:
-(IBAction)buttonClicked:(id)sender
{
_label.text = @"New Clicked Message Text";
[_button setTitle:@"Clicked" forState:UIControlStateNormal];
}
现在我们可以运行程序了,运行效果如下:
(1) 点击Button前 (2) 点击Button后
现在我们学会了简单的UILabel和UIButton的使用。其它的空间使用类似,但是有些函数触发不太一样。UIButton默认触发函数事件是TouchupInside,而UISegmentedControl默认是ValudeChanged。
2.我们使用纯代码来进行编辑
我们新建TestMenuComponentViewController类,不添加xib文件。我们在viewDidLoad函数中来实现这些控件的新建和初始化代码如下:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
_button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
_button.frame = CGRectMake(35.0, 57.0, 100.0, 44.0);
[_button setTitle:@"Button" forState:UIControlStateNormal]; _label = [[UILabel alloc] initWithFrame:CGRectMake(35.0, 20.0, 245.0, 21.0)];
_label.text = @"Label"; [_button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:_label];
[self.view addSubview:_button];
}
运行效果如下:
项目源代码链接:
http://115.com/lb/5lbfksd5#
TeachingProject.zip
115网盘礼包码:5lbfksd5
从零开始学iPhone开发(2)——控件的使用的更多相关文章
- 从零开始学android开发-获取控件
mBtnNews = (Button)findViewById(R.id.btn_news);//获取控件
- 从零开始学iPhone开发(3)——视图及控制器的使用
上一节我们分别使用IB和代码建立了两个视图并且熟悉了一些控件.这一节我们需要了解视图和视图的切换. 在iOS编程中,框架提供了很多视图,比如UIView,UIImageView, UIWebView等 ...
- 从零开始学iPhone开发(4)——使用WebView
转自 总结关于iPhone中UIWEBVIEW读取本地GBK编码格式html 关于webView读取本地GBK编码的html,尝试了两天,终于成功. 欢喜之余,把感想记下来.一般来说,不成都是人犯错, ...
- 从零开始学iPhone开发(1)——工具的使用
前提:已经具备了苹果电脑或者iMac,或者安装好了x86苹果而且已经联网. 苹果系统版本要求是:Max OS X Lion,或者 Mountain Lion 我们对iPhone进行使用的工具是XCod ...
- 从零开始学iPhone开发(5)——使用MapKit
(转)Leonbao:MapKit学习笔记 1.概述插入MapView,设置Delegate(一般为Controller),Annotations记录兴趣位置点(AnnotationView用来显示兴 ...
- 从零开始学ios开发(三):第一个有交互的app
感谢大家的关注,也给我一份动力,让我继续前进.有了自己的家庭有了孩子,过着上有老下有小的生活,能够挤出点时间学习真的很难,每天弄好孩子睡觉已经是晚上10点左右了,然后再弄自己的事情,一转眼很快就到12 ...
- 用C#开发ActiveX控件,并使用web调用
入职差不多两个月了,由学生慢慢向职场人做转变,也慢慢的积累知识,不断的更新自己.最近的一个项目里边,涉及到的一些问题,因为SDK提供的只是winform才能使用了,但是有需求咱们必须得完成啊,所以涉及 ...
- ATL开发 ActiveX控件的 inf文件模板
ATL开发 ActiveX控件的 inf文件模板
- 使用C#开发ActiveX控件(新)
前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是 ...
随机推荐
- xshell的快捷键(非常实用)
删除 ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dl ctrl + h 删除光标所在位置前的字符相当于VIM里hx或者dh ctrl + k 删除光标 ...
- Python一般错误
1. IndentationError: unindent does not match any outer indentation level 格式对齐的问题.Python对空格和Tab有严格区别
- openstack组件之keystone
一 什么是keystone keystone是 OpenStack Identity Service 的项目名称.它在整个体系中充当一个授权者的角色. Keystone项目的主要目的是给整个opens ...
- js中的text(),html() ,val()的区别
js中的text(),html() ,val()的区别 text(),html() ,val()三个方法用于html元素的存值和取值,但是他们各有特点,text()用于html元素文本内容的存取,ht ...
- HDU 3695 Computer Virus on Planet Pandora(AC自动机模版题)
Computer Virus on Planet Pandora Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 256000/1280 ...
- C#网络编程之--TCP协议(一)
TCP 是面向连接的传输协议 面向连接,其实就好比,A打电话给B,如果B接听了,那么A和B之间就的通话,就是面向连接的 TCP 是全双工的传输协议 全双工,这个理解起来也很简单,A打电话给B,B接听电 ...
- 安装XDEBUG步骤及问题
echo PHPINFO(); 如果搜索中没找到XDEBUG, 则表示没安装XDEBUG; XDEBUG官方下载路径, https://xdebug.org/download.php 查看环境参数 我 ...
- autocomplete一次返回多个值,并且选定后填到不同的Textbox中
$(txtTest1).autocomplete({ source: function (request, response) { $.ajax({ url: 'HttpHandler.ashx?to ...
- iOS:搭建本地的服务器
一.介绍 作为一个专业的程序员,不管你是前端还是移动端或者是后台,能够自己试着搭建一个本地的服务器还是很有必要的,有的时候,我们可以自己测试一些数据,很方便开发.其实,mac是自带有本地的服务器的,用 ...
- Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形) .
1.首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, ...