• 02-第一个iOS程序


    第一个iOS程序

    第一个iOS程序简介

    • 初学iOS开发,研究的程序不要过于复杂,应该从最基本的开始
    • 大房子都是由小砖一块一块堆成的,而大型app是由无数个小程序段组成的
    • 接下来实现一个简单的“加法计算器”,作为第一个iOS程序(Hello World)
    • 分析可得,至少需要开发步骤:

    1. 添加需要的控件,搭建UI界面:1个按钮、3个文本标签、2个文本输入框

    2. 监听按钮的点击事件

    3. 取得2个文本框值,将计算好的最终结果显示到右边的文本标签上

    掌握

    • 往storyboard中添加控件

    • UIViewController和UIView的关系

    • 程序的运行过程

    • IBAction、IBOutlet的作用

    • 如何监听控件的事件(比如按钮的点击事件)

    • 父控件和子控件的概念

    • 退出键盘

    作业

    • 制作一个QQ登录界面

    • 要求:

    1. QQ文本框要有“请输入QQ”的文字提示(用户输入文字时会自动消失)

    2. 密码文本框要有“请输入密码”的文字提示(用户输入文字时会自动消失)

    3. QQ文本框只能输入数字

    4. 密码文本框的文字必须是暗文显示

    5. 点击登录按钮后输出用户输入的QQ和密码,并且退出键盘

    Storyboard文件

    • 在iOS5之前,苹果使用xib文件来描述UI界面

    • 在iOS5之后,苹果采取了更加强大和先进的storyboard文件来描述界面(Xcode5是基于iOS7的)           

    • 左边的箭头表明:程序一启动就会显示箭头所指的界面

    UILabel – 文本标签

    • 文本标签的作用仅仅是显示一串固定的文字

    UIButton – 按钮

    • 按钮的作用是:监听用户的点击事件,在用户点击后做出反应

    UITextField – 文本输入框

    • 文本输入框可以弹出键盘,让用户输入一些具体的值

    UIView

    • 屏幕上能看得见摸得着的东西就是UIView,比如屏幕上的按钮、文字、图片
    • 一般翻译叫做:视图控件组件
    • UIButton、UILabel、UITextField都继承自UIView
    • 每一个UIView都是一个容器,能容纳其他UIView(比如右图中的整个键盘是一个UIView,里面容纳很多小格子的数字UIView)

    父控件和子控件

    • 在“加法计算器”中,最后面那块白色的全屏的东西也是一个UIView
    • 白色的大UIView中容纳了很多小的UIView,视图层次结构如下图所示
    • 在白色的大UIView中,容纳了6个小UIView(1个UIButton、2个UITextField、3个UILabel)

    • 这种情况下,我们可以称白色的大UIView为6个小UIView的父控件(父视图),6个小UIView都是白色大UIView的子控件(子视图)

    UIViewController

    • 手机上自带的“设置”中有很多的界面,点击对应的选项可以跳到下一个界面
    • 每一个新的界面都是一个新的UIView,在切换过程中,涉及到了:

    1. UIView的创建和销毁

    2. UIView跟用户的交互(处理UIView内部每一行的点击)

    • 其实,每当显示一个新界面时,首先会创建一个新的UIViewController对象,然后创建一个对应的全屏UIView,UIViewController负责管理这个UIView

    • UIViewController就是UIView的大管家,负责创建、显示、销毁UIView,负责监听UIView内部的事件,负责处理UIView与用户的交互

    • UIViewController内部有个UIView属性,就是它负责管理的UIView对象 :

    1.  @property(nonatomic,retain) UIView *view;
    • 严格来讲,下图箭头所指的应该是一个UIViewController对象,里面白色的界面仅仅是UIViewController内部的UIView属性

    • 箭头所指UIViewController的真实类型是MJViewController

    加法计算器程序的运行流程

    • 综合分析,可以得出程序的简单运行流程:
    1. 读取Main.storyboard文件
    2. 创建箭头所指的MJViewController对象
    3. 根据storyboard文件中描述创建MJViewController的UIView对象
    4. 将UIView对象显示到用户眼前

    如何监听按钮点击

    • 现在已经知道:应该由MJViewController来监听“计算”按钮的点击
    • 换句话说,MJViewController应该提供一个方法出来,当用户点击“计算”按钮时,就调用这个方法来通知MJViewController按钮被人点了
    • MJViewController就在这个方法中实现想做的任何事情,比如计算2个文本输入框内值的和

    补充问题

    • IBAction和IBOutlet究竟有什么作用?
    • 还有其他拖线方式么?
    • Storyboard文件中箭头的含义?
    • 如何更换storyboard文件?
    • 如何让文本框只能输入数字?
    • 如何退出键盘?
    • Company Identifier和Bundle Identifier的作用
    • 模拟器还有哪些功能?
    • 特别提醒:iOS7和iOS6的区别

    IBAction和IBOutlet

    • IBAction
    1. 从返回值角度上看,作用相当于void
    2. 只有返回值声明为IBAction的方法,才能跟storyboard中的控件进行连线
    • IBOutlet
    1. 只有声明为IBOutlet的属性,才能跟storyboard中的控件进行连线

    设置程序启动时加载的storyboard

    • 这个设置表明:程序启动时会加载Main.storyboard

    设置UITextField的键盘类型

    • 这个设置表明:UITextField弹出的是数字键盘

    退出键盘的两种方式

    • resignFirstResponder
    1. 当叫出键盘的那个控件(第一响应者)调用这个方法时,就能退出键盘
    • endEditing
    1. 只要调用这个方法的控件内部存在第一响应者,就能退出键盘
  • 相关阅读:
    Android -- ConditionVariable
    Android -- startActivityForResult和setResult
    StringTokenizer
    Android -- java代码设置margin
    Android -- DisplayMetrics
    Android -- TypedArray
    Android -- 屏幕亮度
    Java assert
    Android -- com.android.providers.media,external.db
    Inno Setup入门(十)——操作注册表
  • 原文地址:https://www.cnblogs.com/YangFuShun/p/4310694.html
Copyright © 2020-2023  润新知