这一节我们开始学习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. php课程---练习(发布新闻)

    做一个发布新闻的页面,实现发布新闻,查看新闻,修改新闻与删除等功能 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ ...

  2. dom4j解析xml文档&保存数据的乱码问题

    package itcast.dom4j; import java.io.File; import java.io.FileOutputStream; import java.io.FileWrite ...

  3. php实现实现代码多主从,切换,轮询,健康检查

    现在很多框架现在都提供数据库读写分离,比如CI,TP,YII,一般使用正则表达书判断sql语句是读操作,还是写操作,但是有个缺点,没有给用主动判断,比如写入操作必须去立即读取主数据库的,如果不能立即判 ...

  4. 基于 ThinkPHP 3.2.3 的页面静态化功能的实现

    PHP 的页面静态化有多种实现方式,比如使用输出缓冲(output buffering),该种方式是把数据缓存在 PHP 的缓冲区(内存)中,下一次取数据时直接从缓冲区中读取数据,从而避免了脚本的编译 ...

  5. 解决ssh登录后闲置时间过长而断开连接

     ++++++++++++++++++++++++++++ #!/usr/bin/env bash password_5="Uxxx7"host_5="129.x.x.1 ...

  6. ruby 分析日志,提取特定记录

    读取日志中的每一行,分析后存入hash,然后做累加 adx_openx=Hash.new(0) File.open('watch.log.2016-08-24-21').each do |line| ...

  7. Redis的Python客户端redis-py

    1. 安装 1. redis-py a. 使用easy_install 1 sudo easy_install redis  b. 源码安装 1 2 3 git clone https://githu ...

  8. TCP 长连接与短连接的区别

    TCP连接 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的 ...

  9. Git branch 和 Git checkout常见用法

    git branch 和 git checkout经常在一起使用,所以在此将它们合在一起 1.Git branch 一般用于分支的操作,比如创建分支,查看分支等等, 1.1 git branch 不带 ...

  10. soap ui 进行接口测试

    [前置条件] 1. 电脑上已安装soap UI 5.0 2. 电脑上已安装eclipse. JDK1.6.tomcat 3. eclipse已经成功的配置JDK1.6.tomcat [操作步骤] 1. ...