一 IPhone轻量级开发

1. 开发环境

Mac 版本: OS X EICap 10.11.3 (15D21)

XCode开发版本: Version 7.2.1 (7C1002)

2.简单分析

UI界面的组成对象:

1)UI界面上的每一个元素都是对象。

2)万物都是对象。

3. 基础概念

1)窗口:UIWindow

iPhone的规则是一个窗口,多个视图,窗口是你在app显示出来你看到的最底层,他是固定不变的,基本上可以不怎么理会,但要知道每层是怎样的架构。

2) 视图:UIView

UIView是用户构建界面的基础,所有的控件都是在这个页面上画出来的,你可以把它当成是一个画布,你可以通过UIView增加控件,并利用控件和用户进行交互和传递数据。

窗口和视图是最基本的类,创建任何类型的用户界面都要用到。窗口表示屏幕上的一个几何区域,而视图类则用其自身的功能画出不同的控件,如导航栏,按钮都是附着视图类之上的,而一个视图则链接到一个窗口。

3) 视图控制器:UIViewController

视图控制器UIViewController,你可以把他当成是对你要用到视图UIView进行管理和控制,你可以在这个UIViewController控制你要显示的是哪个具体的UIView。另外,视图控制器还增添了额外的功能,比如内建的旋转屏幕,转场动画以及对触摸等事件的支持。

4. UIKit框架

包含了丰富多彩的各种UI元素。

二 案例-切换图片

1 大致的开发步骤是

  添加所需要的UI元素:3个按钮(UIButton)、1个图片控件(UIImageView)

  监听3个按钮的点击事件。

  改变图片内容。

2 了解的知识点

1)IBAction和IBOutlet

IBAction

  从返回值角度上看,作用相当于void

  只有返回值声明为IBAction的方法,才能跟storyboard中的控件进行连线

IBOutlet

  只有声明为IBOutlet的属性,才能跟storyboard中的控件进行连线

3. 具体步骤

1)新建工程

启动XCode -> Create a new XCode Project -> 选择IOS下的Application , Single View Application

Product Name: 项目名字

Organization Name: 组织机构名称

Organization identifier: 组织机构唯一标示,一般是 com.组织机构名称的格式来命名。

Bundle identifier: 是 app的唯一标示,根据组织机构唯一表示名,项目名称生成,手机有且只有一个 app bundle应用 bundle的作用是辨别APP,升级APP。

Language: Objective-c

Device: IPhone

2)点击MainStoryBoard

点击View Controller, 在show the object library里选择 UIButton组件拖到 View Controller里,修改第一个Button的名字为”第一张“

然后复制第一个按钮,点击要复制的按钮,按住 Option 建拖动,就可以复制成功第二个按钮,修改第二个Button名字为“第二张”

然后在复制第三个按钮,起名为“第三张”

最后拖动一个 UIImageView控件到 ViewController,修改它的background 颜色为红色。

把ImageView控件拖到父控件View控件的第一个,表示放在图层的最里面。

3)控制器

按照“一个界面由一个控制器管理”的原则来编写代码。 比如下面这个界面有ViewController这个控制器(ViewController.h, ViewController.m)来管理。

4)绑定事件

在ViewController.m里新建以下方法

 - (IBAction)clickImgBun1{

 }

 - (IBAction)clickImgBun2{

 }

 - (IBAction)clickImgBun3{

 }

点击第一个按钮,按住“control”建,拖到 clickImgBtn1方法里。点击第一张按钮,单击鼠标右键。可以看出按钮控件已经与方法建立联系。对按钮的“Touch Up Inside”单击事件,注册了事件。

5)图片句柄

点中UIImageView,按住 control 键拖到 ViewController.m的 @interface ViewController() .. @end扩展类的中间部分,起名为imageView.这样放置扩展性好。

6)图片素材

把图片素材拖放到 Assets.xcassets目录下。

7)imageView

把 imageView指向图片资源。

 #import "ViewController.h"

 @interface ViewController ()

     @property (weak, nonatomic) IBOutlet UIImageView *imageView;

 @end

 @implementation ViewController

 - (void)viewDidLoad {
[super viewDidLoad];
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
} - (IBAction)clickImgBun1{
NSLog(@"--- click Img button1 ");
_imageView.image = [UIImage imageNamed:@"girl1" ];
} - (IBAction)clickImgBun2{
NSLog(@"--- click Img button2 "); _imageView.image = [UIImage imageNamed:@"girl2" ];
} - (IBAction)clickImgBun3{
NSLog(@"--- click Img button3 "); _imageView.image = [UIImage imageNamed:@"girl3" ];
} @end

8)图片适配

点击Main.storyboard,点击image View控件,选择View Mode 选择 "Aspect Fill"。

9)运行效果

参考知识:

1.IPhone的型号和屏幕尺寸

了解 IPhone的尺寸和型号,有助于在开发时,选择合适的模拟器和应用的屏幕尺寸。

2. 设置程序启动时加载的storyboard

点击项目 ->选择 General , 在Deployment Info里找到 Main Interface,选择storyboard. 这个设置表明:程序启动时会加载Main.storyboard

3.切换输入法,避免全拼带来的问题。

在本机mac下使用的是搜狗输入法(其他输入法类似), 选择"偏好设置",在 "常用"下,勾选中 "中文下使用英文标点" 。

4.设置模拟器尺寸

点击Main.storyboard 选中view Controller,在 Simulated Metrics 的size里根据模拟器类型选择合适的屏幕尺寸。

5.在模拟器中调试app

运行模拟器后,点击 “Debug View Hierarchy” 。

Command + R 运行模拟器。

Command + N 新建文件

6 AlertView对话框的使用

UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:
@"Title" message:@"这是一个测试对话框" delegate:self
cancelButtonTitle:@"取消" otherButtonTitles:@"开始", nil];

轻量级应用开发之(01)第一个IOS程序的更多相关文章

  1. 02-第一个iOS程序-开发步骤

    打开Xcode 选择项目模板 Single View Application是最适合初学者的模板 设置项目属性 运行程序 不管怎样,先运行第一个iOS程序看看效果先(用快捷键Command + R 也 ...

  2. [IOS]从零开始搭建基于Xcode7的IOS开发环境和免开发者帐号真机调试运行第一个IOS程序HelloWorld

    首先这篇文章比较长,若想了解Xcode7的免开发者帐号真机调试运行IOS程序的话,直接转到第五部分. 转载请注明原文地址:http://www.cnblogs.com/litou/p/4843772. ...

  3. 从安装Mac OS X虚拟机到第一个IOS程序

    对于纯粹地抄这种行为是比较抵触的,别人已经写得挺好的东西没必要又去写一遍,但如果不写经验来看下次再做时自己又要重复百度筛选一遍,所以还是要记一记. 之前要获取IOS静态库的版本,但一直以来没有Mac没 ...

  4. 02-第一个iOS程序

    第一个iOS程序 第一个iOS程序简介 初学iOS开发,研究的程序不要过于复杂,应该从最基本的开始 大房子都是由小砖一块一块堆成的,而大型app是由无数个小程序段组成的 接下来实现一个简单的“加法计算 ...

  5. 第一个iOS程序:Hello iOS

    今天我们来创建第一个iOS程序:Hello iOS!不需要写任何代码就能实现:

  6. IOS开发学习笔记017-第一个IOS应用

    第一个IOS应用程序,就从最简单的开始吧. 1.先了解一下开发环境,Xcode的相关组成 2.还有模拟器 3.运行与停止按钮 4.新建一个工程 5.看看main函数里都有啥 6.现在来添加一个控件 1 ...

  7. Go语言开发的第一步,安装开发环境编写第一个Go程序

    关于go就不介绍了,google自己的语言.其它的百科,最近比较郁闷,处于纠结状态,不想说话,真心不想说话. 开发工具安装: 安装包下载: http://code.google.com/p/go/do ...

  8. 【IOS学习】1.第一个IOS程序

    1.执行原理 a.首先执行main函数 调用UIApplicationMain方法 return UIApplicationMain(argc, argv, nil, NSStringFromClas ...

  9. 一、Java语言概述与开发环境、第一个java程序

    目录: 1.1 Java特点 1.2 Java程序运行机制 1.3 安装JDl和配置环境变量 1.4 第一个JAVA程序 1.5 第一个JAVA程序的含义 前言 Java语言历时近二十年,已发展成为人 ...

  10. Android开发学习之三——第一个Android程序

    下面我们建立第一个Android程序. 打开Eclipse,开始如下步骤: 1.File ==> New ==> Android Application Project 出现如下窗口: 2 ...

随机推荐

  1. smarty中section遍历数组

    smarty中section遍历数组

  2. 安卓版微信内置浏览器,<a href="tel:电话号码"></a> 这个链接失效,不能跳到拨号界面?

    https://segmentfault.com/q/1010000000318831 在URL最后面加“ #mp.weixin.qq.com ”,应该加其他qq.com的二级域名都行,估计是微信的安 ...

  3. 026医疗项目-模块二:药品目录的导入导出-导入功能的Service的编写

    这个导入功能要实现的效果是: 思路是: 因为我们最后是在Action层中调用的HxlsRead工具,这个工具传入的就是我们要实现的上一篇文章说到的实现了HxlsOptRowsInterface接口的类 ...

  4. Myeclipse+maven时Tomcat部署时maven的依赖文件不能部署到Tomcat上

    解决办法:

  5. 如何在Web服务器80端口上开启SSH服务

    本文所讨论的网络端口复用并非指网络编程中采用SO_REUSEADDR选项的 Socket Bind 复用.它更像是一个带特定路由功能的端口转发工具,在应用层实现. 背景 笔者所处网络中防火墙只开放了一 ...

  6. 二叉树的遍历(递归,迭代,Morris遍历)

    二叉树的遍历: 先序,中序,后序: 二叉树的遍历有三种常见的方法, 最简单的实现就是递归调用, 另外就是飞递归的迭代调用, 最后还有O(1)空间的morris遍历: 二叉树的结构定义: struct ...

  7. Asp.net用户控件和委托事件

    在Asp.net系统制作过程中,门户类型的网站,我们可以用DIV+CSS+JS+Ajax全部搞定,但是一旦遇到界面元素比较复杂的时候,还是UserControl比较方便一些,各种封装,各种处理,然后拖 ...

  8. android最佳实践之设备兼容性

    由于不同手机的尺寸大小,屏幕分辨率可能存在差异.在开发应用的时候,你或许遇到过这些的问题: 1, 为什么图片在另外的手机上显示的时候变小了,又或是缩小了? 2, 为什么在layout中定义好的格局在另 ...

  9. #Linux学习笔记# Linux文件的属性以及权限说明

    1. Linux文件的属性 关于Linux文件的属性的说明和设置请参考鸟哥Linux私房菜:Linux 的文件权限与目录配置 2. 目录和文件的权限意义 在Linux系统中,每个文件都有三种身份的权限 ...

  10. SQL Server 收缩日志

    一. SQL Server 2008 收缩日志 (1) 使用SQL管理器收缩日志 第一步执行如下命令 ALTER DATABASE platform SET RECOVERY SIMPLE GO 第二 ...