UI基础之减法计算器

今天学习了一个ios应用的小实例,也是首次接触UI界面.下面大体介绍一下,这个减法计算器,只是单纯的为了演示UI界面的搭建和入门,没有任何的实用性.主要用到的知识点有:

  • storyboard中添加空间
  • UIviewController和UIView的关系
  • 程序的运行过程
  • IBAction和IBOutlet
  • 监听控件的点击事件
  • 父控件和子控件的概念
  • 退出键盘

    UI界面如上,整个界面上有1个按钮,3个文本标签,2个文本输入框.

    经过分析可知,开发步骤基本可以分为两步:

    • 添加需要的控件,搭建UI界面
    • 监听按钮的点击事件,获得两个文本框的值,相减,将计算好的最终结果显示到最右边的文本标签上

    此处使用了ios的控件UIAlertView,为了演示这个效果,这个减法计算器的思路为:用户输入两个数,当输入的第一个数大于或者等于第二个数时,执行减法运算;当第一个数小于第二个数时,认为输入不合法,弹出一个提示(此处只是为了演示这个UIAlertView而设计的),最后将结果显示到最右边的文本标签上.如下图所示:

  • 下面是程序的代码: ViewController.m
 1 //
 2 //  ViewController.m
 3 //  01-calculator
 4 //
 5 //  Created by hukezhu on 15/5/9.
 6 //
 7 //
 8 /*
 9     用户输入两个数,当输入的第一个数大于或者等于第二个数时,执行减法运算;
10     当第一个数小于第二个数时,认为输入不合法,最后将结果显示到对应位置
11  */
12
13 #import "ViewController.h"
14
15 //类扩展(私有)
16 @interface ViewController ()
17 /**
18  *  第一个文本输入框
19  */
20 @property (weak, nonatomic) IBOutlet UITextField *num1;
21 /**
22  *  第二个文本输入框
23  */
24 @property (weak, nonatomic) IBOutlet UITextField *num2;
25
26 /**
27  *  显示结果的文本标签(最右边)
28  */
29 @property (weak, nonatomic) IBOutlet UILabel *num3;
30 /**
31  *  点击计算按钮后的响应方法
32  */
33 - (IBAction)compute;
34 @end
35
36 @implementation ViewController
37
38 - (void)viewDidLoad {
39     [super viewDidLoad];
40
41 }
42 - (IBAction)compute {
43     //取得两个文本输入框的值
44     NSString *text1 = self.num1.text;
45     NSString *text2 = self.num2.text;
46     //定义一个变量来接收计算结果
47     int sum = 0;
48     //执行判断
49     //当第一个数大于或者等于第二个数时
50     if (text1.intValue >= text2.intValue) {
51         //将结果计算出来赋值给sum
52         sum = text1.intValue - text2.intValue;
53     }else{
54         //第一个数小于第二个数时,弹出一个提示消息
55         //这里使用到了UIAlertView,创建一个alert对象
56
57         UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"输入不合法" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil, nil];
58         //调用show方法,显示出来
59         [alert show];
60     }
61     //将结果显示到最右边的文本输入框中
62     self.num3.text = [NSString stringWithFormat:@"%i",sum];
63     //退出键盘
64     [self.view endEditing:YES];
65
66
67 }
68 @end

下图是storyboard拖线的过程

  

下面介绍一些前面提到的主要知识点:

  • storyboard:用来描述界面,其中的箭头表示程序的入口,指的时一个控制器
  • view:表示视图,也叫做控件
  • viewController:视图控制器,用来管理视图,包括管理视图的创建和销毁,包括监听其中的子控件和用户的交互
  • 退出键盘:释放第一响应者(叫出键盘的控件)调用resignFirstResponder方法,释放第一响应者,缺陷是:假设一个界面上有多个控件用到键盘,则需要每个控件都要调用这个方法,比较繁琐.
  • 退出键盘:第一响应者的父控件退出编辑状态[self.view
    endEditing:YES];优点是只需调用一次即可退出所有键盘.
  • 程序运行的过程:当程序运行的时候,程序加载storyboard文件中箭头所指的控制器,然后控制器负责创建里面的视图,视图负责创建里面的小的控件,然后将界面显示到屏幕上.

程序中用到了UIAlertView属性.

[[UIAlertView alloc]initWithTitle:@"提示框的标题" message:@"提示的详细信息"
delegate:@"代理" cancelButtonTitle:@"结束按钮的标题"
otherButtonTitles:@"其他按钮的标题(比如说结束时有多个选项的时候)", nil];

时间: 2024-10-12 21:30:34

UI基础之减法计算器的相关文章

1.C#WinForm基础制作简单计算器

利用c#语言编写简单计算器: 源码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace 简单计算器 { public partial class Form1 : Form { public For

ios开发-UI基础-超级猜图

[注意]转载时请注明出处博客园-吃唐僧肉的小悟空http://www.cnblogs.com/hukezhu/ 本篇文章介绍一个比较综合的小应用----超级猜图. 功能分析: 根据显示的图片,在下面的待选项按钮中选中正确答案按钮,选中的按钮会显示在正确答案按钮中 答案错误,答案颜色变为红色,分数减小 答案正确,答案颜色变为蓝色,两秒自动跳入下一题,分数增加 点击"下一题"可以进入下一个题目 点击"大图",可以放大显示图片,再次点击图片或者背景,图片缩小至原来大小 点

ios开发-UI基础-应用管理(单纯界面)改进5-使用代理实现监听下载按钮的点击(delegate)

[注意]转载时请注明出处博客园-吃唐僧肉的小悟空http://www.cnblogs.com/hukezhu/ 前几篇文章介绍了一个应用管理的小应用,从最开始的单纯实现功能,一步一步就行改进\封装,上篇文章是使用xib进行了优化,本篇文章使用代理实现监听下载按钮的点击. 在原来的基础上,使用代理的主要思路分析: 首先要新建一个协议 声明协议的要实现的方法(一般为optional) 声明一个遵守该协议的代理的属性 使用代理,通知其代理完成操作 在代理中的实现步骤: 遵守协议 设置代理(一般通过拖线

UI基础控件UIButton

一:UI基础 Button控件 1,简单说明:UIView和UIViewController间的关系 一个应用并不一定要有UIViewController,但是为了管理界面事件(比如按钮点击事件)一般我们在创建应用时要先创建控制器,控制器拥有一个UIView属性. UIView用来展示数据.及用户输入数据.监听事件的触发(比如按钮的touchupinside事件) 而控制可以用来处理这些事件,赋值UIView的管理. 按钮可以展示文字和图片,也就是说按钮具有这些属性. 2,按钮的三种状态 nor

Android UI基础

Android UI概述 Android UI由View和ViewGroup组成. ViewGroup是不可见的,用于组织和排版View和ViewGroup. View用户显示内容,以及响应用户的操作. 可以按照需要安排UI的叠放,不过叠放的层数越少,性能上来说越好. Android UI可以在code中生产,不过更加方便的方式是在Android的XML文件中定义UI. Layouts 通过XML方式实现 可以通过2种方式定义界面结构. 1. 在XML定义视图结构 2. 在运行时动态创建视图结构

转发-UI基础教程 – 原生App切图的那些事儿

UI基础教程 – 原生App切图的那些事儿 转发:http://www.shejidaren.com/app-ui-cut-and-slice.html 移动APP切图是UI设计必须学会的一项技能,切图虽然简单,但还是有很多地方需要注意的,下面由tgideas的 LV主唱大人 跟大家讲讲原生App切图的那些事儿,对UI入门或需了解APP切图的设计师来说会有帮助哦. 如何切图? 了解iphone界面的尺寸 最小的分辨率是320×480,我们把这个尺寸定为基准界面尺寸(baseline),基准尺寸所

iOS开发UI基础—IOS开发中Xcode的一些使用技巧

iOS开发UI基础-IOS开发中Xcode的一些使用技巧 一.快捷键的使用 经常用到的快捷键如下: 新建 shift + cmd + n     新建项目 cmd + n             新建文件 视图 option + cmd + 回车 打开助理编辑器 cmd + 回车           显示主窗口 cmd + 0             导航窗口 option + cmd + 0    工具窗口 在.m & .h之间切换           control + cmd + 上/下

ios开发UI基础—Kvc简单介绍

一.KVC简单介绍 KVC key valued coding 键值编码 KVC通过键值间接编码 补充: 与KVC相对的时KVO,即key valued observer 键值观察.监听某一个模型的属性,只要模型属性的值一变化就通知你. 二.使用KVC 1.KVC基本使用介绍 (1)代码示例: 新建一个命令行项目,用以演示KVC的用法 完成之后为项目添加一个Person类. 为Person类添加两个属性(name和age),注意这两个属性的类型. 1 #import <Foundation/Fo

IOS开发UI基础—在UIImageView中添加按钮以及Tag的参数说明

ios开发UI基础-在ImageView中添加按钮以及Tag的参数说明 一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwithtag: 提示点:在xib中如果想要通过tag参数获取对应的控件(属性),不要把tag的参数设置为0,因为xib中所有的对象默认tag都为0,设置为0取不到对象. 二.ImageView中添加按钮(1)ImageView和Button的比较 Button按钮的内部可以放置多张图片(4),而Im