这一节我们开始学习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)——控件的使用的更多相关文章

  1. 从零开始学android开发-获取控件

    mBtnNews = (Button)findViewById(R.id.btn_news);//获取控件

  2. 从零开始学iPhone开发(3)——视图及控制器的使用

    上一节我们分别使用IB和代码建立了两个视图并且熟悉了一些控件.这一节我们需要了解视图和视图的切换. 在iOS编程中,框架提供了很多视图,比如UIView,UIImageView, UIWebView等 ...

  3. 从零开始学iPhone开发(4)——使用WebView

    转自 总结关于iPhone中UIWEBVIEW读取本地GBK编码格式html 关于webView读取本地GBK编码的html,尝试了两天,终于成功. 欢喜之余,把感想记下来.一般来说,不成都是人犯错, ...

  4. 从零开始学iPhone开发(1)——工具的使用

    前提:已经具备了苹果电脑或者iMac,或者安装好了x86苹果而且已经联网. 苹果系统版本要求是:Max OS X Lion,或者 Mountain Lion 我们对iPhone进行使用的工具是XCod ...

  5. 从零开始学iPhone开发(5)——使用MapKit

    (转)Leonbao:MapKit学习笔记 1.概述插入MapView,设置Delegate(一般为Controller),Annotations记录兴趣位置点(AnnotationView用来显示兴 ...

  6. 从零开始学ios开发(三):第一个有交互的app

    感谢大家的关注,也给我一份动力,让我继续前进.有了自己的家庭有了孩子,过着上有老下有小的生活,能够挤出点时间学习真的很难,每天弄好孩子睡觉已经是晚上10点左右了,然后再弄自己的事情,一转眼很快就到12 ...

  7. 用C#开发ActiveX控件,并使用web调用

    入职差不多两个月了,由学生慢慢向职场人做转变,也慢慢的积累知识,不断的更新自己.最近的一个项目里边,涉及到的一些问题,因为SDK提供的只是winform才能使用了,但是有需求咱们必须得完成啊,所以涉及 ...

  8. ATL开发 ActiveX控件的 inf文件模板

    ATL开发 ActiveX控件的 inf文件模板    

  9. 使用C#开发ActiveX控件(新)

    前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是 ...

随机推荐

  1. js 检查是否为手机端

    let isMobile = function(){ let userAgentInfo = navigator.userAgent; let Agents = new Array("And ...

  2. BizTalk开发系列(十) ESB Guidance安装笔记

    ESB指导工具包(ESB Guidance)是一个运行于BizTalk Server 2006 R2之上的一个框架.详细信息访问ESB指导工具包社区网站 .源码下载 ESB Guidance的安装过程 ...

  3. Android课程---Android Studio的一些小技巧

    APK瘦身 在Android Studio中我们可以开启混淆,和自动删除没有Resources文件,来达到给APP瘦身的目的,这对于一些维护很久的老项目比较有用,里面有很多无效的Resource, 删 ...

  4. 【转】C#(ASP.Net)获取当前路径的方法集合

    转自:http://www.gaobo.info/read.php/660.htm //获取当前进程的完整路径,包含文件名(进程名). string str = this.GetType().Asse ...

  5. youtube视频下载

    开你的电脑,然后打开你的浏览器,浏览器可以是IE.Chrome.Firefox等等   在浏览器中输入这个网址:en.savefrom.net,点击Enter键,进入这个网页:   打开你需要下载的y ...

  6. alibaba的FastJson(高性能JSON开发包),fastjson 使用demo

    这是关于FastJson的一个使用Demo,在Java环境下验证的 class User{ private int id; private String name; public int getId( ...

  7. cut用法

    cut命令用来剪下文本文件里的数据,文本文件可以是字段类型或是字符类型. cut - remove sections from each line of files 语法 cut  OPTION... ...

  8. textarea 换行操作

    在 textarea 中输入回车符,提交表单时,传给后台的是 '\n' 或者 '\r\n'(在IE下,换行符传入\r\n:在Firefox和谷歌浏览器下,换行符只传入了\n). 楼主也做了一个案例,让 ...

  9. html5,output标签应用举例

    <form action="" id="myform" oninput="num.value=parseInt(num1.value)+pars ...

  10. listener.ora增加监听端口

    一个简单的listener.ora # listener.ora Network Configuration File: d:\app\zyd\product\11.2.0\dbhome_1\netw ...