iOS 9应用开发教程之ios9的视图

iOS 9应用开发教程之ios9的视图

了解IOS9的视图

在iPhone或者iPad中,用户看到的和摸到的都是视图。视图是用户界面的重要组成元素。本节将主要讲解ios9视图的添加、删除以及位置和大小的设置等内容。

ios9视图库介绍

在视图库中存放了iOS开发中所需的所有视图。开发者可以在创建好iOS应用程序的项目以后,打开画布的设计界面,这时在工具窗口的下半个窗口中,单击Show the Object library图标,就会显示出视图库,如图1.46所示。

图1.46  视图库

在视图库中存放的视图是可以根据功能的不同进行分类的,如表1-3所示。

表1-3  视图库分类

在视图库的最下边有两个图标,一个是用来进行显示视图排列方式的,一个是搜索视图的,如图1.47所示。

图1.47  视图库

视图始祖——UIView

在Swift中,NSObject是所有类的根类。同样在UIKit框架(UIKit框架为iOS应用程序提供界面对象和控制器)中,也存在一个如此神奇的类UIView。从继承关系上看,UIView是所有视图的根。一般称UIView为空白视图。

ios9中添加视图

在iOS中添加视图的方式有两种:一种是使用编辑界面添加视图;另一种是使用代码添加视图。以下是这两个方式的详细介绍。

1.编辑界面添加视图

使用编辑界面添加视图是一个相当简单的工作,即从视图库中拖动视图到主视图中即可。

【示例1-1】以下将实现如何使用编辑界面添加一个空白视图。具体的操作步骤如下:

(1)创建一个Single View Application模板类型的项目,命名为UIVIew-InterfaceBuilder。

(2)打开Main.storyboard文件,单击Show the Object library,在显示的视图库中找到View视图即空白视图,将其拖到画布的主视图中,如图1.48所示。

图1.48  添加视图

此时运行程序,会看到如图1.49所示的效果。

图1.49  运行效果

由于使用编辑界面添加的View空白视图默认的背景颜色为白色,所以在模拟器上是看不出效果的。那么该如何在模拟器上看到添加的View空白视图呢?开发者需要回到Main.storyboard文件,选择主视图上添加的View空白视图。然后,选择在属性检查器面板中会打开相应的属性设置,找到Background属性将其设置为Dark Gray Color,如图1.50所示。

图1.50  设置背景颜色

此时运行程序,会看到如图1.51所示的效果。

图1.51  运行效果

注意:在属性检查器面板中存放了一些属性,当开发者单击主视图中的某一视图后,属性检查器面板中就会出现对应的属性设置,开发者可以通过这些属性对视图进行美化。

2.代码添加视图

如果开发者想要使用代码为主视图添加视图,该怎么办呢。以下将为开发者解决这一问题。要使用代码为主视图添加视图需要实现3个步骤。

(1)实例化视图对象

每一个视图都是一个特定的类。在Swift中,经常会说,类是一个抽象的概念,而非具体的事物,所以要将类进行实例化。实例化一个视图对象的具体语法如下:

  • let/var 对象名=视图类()

以我们接触的第一个视图View为例,它的实例化对象如下:

  • let newView=UIView()

其中,UIView是空白视图的类,newView是UIView类实例化出来的一个对象。

(2)设置视图的位置和大小

每一个视图都是一个区域,所以需要为此区域设置位置和大小。设置位置和大小的属性为frame,其语法形式如下:

  • 对象名frame=CGRectMake (X ,Y ,Width,Height)

其中,X和Y表示视图在主视图中的位置,Width和Height表示视图的大小。以下为实例化的对象newView设置位置和大小:

  • newView.frame=CGRectMake(67, 264, 240, 128)

其中,67和264表示此视图的主视图中的位置,240和128表示此视图的大小。

注意:步骤1和步骤2也可以进行合并。例如,以下的代码是将UIView类的实例化对象和设置位置大小进行了合并:

  • let newView=UIView(frame: CGRectMake(67, 264, 240, 128))

(3)将视图添加到当前的视图中

最后,也是最为关键的一步,就是将实例化的对象添加到主视图中。这样才可以进行显示。此时需要使用到AddSubview()方法,其语法形式如下:

  • this.view.addSubview (视图对象名)

以下将实例化的对象newView添加到当前的主视图中,代码如下:

  • self.view.addSubview(newView)

【示例1-2】以下将使用代码为主视图添加一个View空白视图。代码如下:

  • import UIKit
  • class ViewController: UIViewController {
  • override func viewDidLoad() {
  • super.viewDidLoad()
  • // Do any additional setup after loading the view, typically from a nib.
  • let newView=UIView(frame: CGRectMake(67, 264, 240, 128))
  • self.view.addSubview(newView)
  • }
  • ……
  • }

此时运行程序,会看到如图1.52所示的效果。在此运行效果中也是看不到添加的视图的。这是因为添加的视图默认是白色的背景,如果想要看到视图,需要设置它的背景。例如以下的代码,将背景颜色设置为了灰色:

  • newView.backgroundColor=UIColor.grayColor()

此时运行程序,会看到如图1.53所示的效果。

图1.52  运行效果                                   图1.53  运行效果

ios9视图的位置和大小

当一个视图使用拖动的方式添加到主视图后,它的位置和大小可以使用拖动的方式进行设置,也可以使用尺寸检查器面板中的内容进行设置,如图1.54所示。

图1.54  位置尺寸设置                                         图1.55  坐标

注意:在默认的情况下,坐标系统的原点位于左上角,并向底部和右侧延伸,如图1.55所示。

ios9中删除空白视图

当开发者不再需要主视图的某一视图时,可以将该视图删除。实现此功能需要使用到removeFromSuperview()方法,其语法形式如下:

  • 要删除的视图对象名.removeFromSuperview()

【示例1-3】以下代码将在主视图中添加两个视图,然后再使用removeFromSuperview()方法删除其中一个视图。代码如下:

  • import UIKit
  • class ViewController: UIViewController {
  • override func viewDidLoad() {
  • super.viewDidLoad()
  • // Do any additional setup after loading the view, typically from a nib.
  • //添加空白视图newView1
  • let newView1=UIView(frame: CGRectMake(0, 75, 375, 232))
  • newView1.backgroundColor=UIColor.cyanColor()
  • self.view.addSubview(newView1)
  • //添加空白视图newView2
  • let newView2=UIView(frame: CGRectMake(0, 352, 375, 232))
  • newView2.backgroundColor=UIColor.orangeColor()
  • self.view.addSubview(newView2)
  • }
  • ……
  • }

此时运行程序,会看到如图1.56所示的效果。如果想要删除视图对象newView1的话,需要使用removeFromSuperview()方法,代码如下:

  • newView1.removeFromSuperview()                                                               //删除视图对象newView1

运行效果如图1.57所示。

图1.56  运行效果                            图1.57  运行效果

本文选自:iOS 9应用开发基础教程大学霸内部资料,转载请注明出处,尊重技术尊重IT人!

时间: 2025-01-06 02:40:59

iOS 9应用开发教程之ios9的视图的相关文章

iOS 9应用开发教程之ios9中实现button的响应

iOS 9应用开发教程之ios9中实现button的响应 IOS9实现button的响应 button主要是实现用户交互的.即实现响应.button实现响应的方式能够依据加入button的不同分为两种:一种是编辑界面加入button实现的响应:还有一种是使用代码加入button实现的响应. 1.编辑界面加入button实现的响应 使用编辑界面加入button能够使用拖动的方式来实现button的响应,它也是最简单的一种实现响应的方式. [演示样例2-4]下面将实现轻拍button,改变主视图背景

iOS 9应用开发教程之ios9中实现按钮的响应

iOS 9应用开发教程之ios9中实现按钮的响应 IOS9实现按钮的响应 按钮主要是实现用户交互的,即实现响应.按钮实现响应的方式可以根据添加按钮的不同分为两种:一种是编辑界面添加按钮实现的响应:另一种是使用代码添加按钮实现的响应. 1.编辑界面添加按钮实现的响应 使用编辑界面添加按钮可以使用拖动的方式来实现按钮的响应,它也是最简单的一种实现响应的方式. [示例2-4]以下将实现轻拍按钮,改变主视图背景颜色的功能.具体的操作步骤如下: (1)创建一个Single View Application

iOS 9应用开发教程之iOS 9新特性

iOS 9应用开发教程之iOS 9新特性 iOS 9开发概述 iOS 9是目前苹果公司用于苹果手机和苹果平板电脑的最新的操作系统.该操作系统于2015年6月8号(美国时间)被发布.本章将主要讲解iOS 9的新特性.以及使用Xcode 7.0如何编写一个简单的iOS 9的应用程序等内容. iOS 9新特性 在2015年6月8日即北京时间2015年6月9日的WWDC大会上,苹果公司代表讲解了很多iOS 9带来的新特性.本节将讲解一些主要的特性. Siri语音助手智能化 Siri语音助手的智能性能主要

AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码

AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码 添加Watch应用对象时新增内容介绍 Watch应用对象添加到创建的项目中后,会包含两个部分:Watch App 和 WatchKit Extension,如图2.18所示.其中,Watch App部分位于用户的iWatch上,它目前为止只允许包含Storyboard文件和Resources文件.在我们的项目里,这一部分不包括任何代码.WatchKit Extension部分位于用户的iPhone安装的对应App上,这

Xamarin Anroid开发教程之Anroid开发工具及应用介绍

Xamarin Anroid开发教程之Anroid开发工具及应用介绍 Xamarin开发Anroid应用介绍 如今智能手机已经盛行了好几年,而针对这些智能手机的软件开发也变得异常火热.但是在Android平台下只能使用Java开发,iOS平台下也只能使用Objective-C或Swift开发.对于那些C#程序员却只能眼看着这些火热的平台流口水.在几年前只能重新学习一门新的语言,才可以进入这些智能手机开发行业.现在,我们有了Xamarin.C#程序员不需要了解其它语言,就可以开始编写Android

?Unity 2D游戏开发教程之2D游戏的运行效果

Unity 2D游戏开发教程之2D游戏的运行效果 2D游戏的运行效果 本章前前后后使用了很多节的篇幅,到底实现了怎样的一个游戏运行效果呢?或者说,游戏中的精灵会不会如我们所想的那样运行呢?关于这些疑问,会在本节集中揭晓. (1)单击Unity上方,工具栏里的播放按钮,开始运行当前的游戏,默认精灵当前进入的是Idle动画状态,如图1-34所示. 图1-34  Idle状态 (2)当读者按下键盘上的左.右方向键,或者A.D键的时候,精灵会进入Walking动画状态,并且会向左或者向右移动,如图1-3

HealthKit开发教程之HealthKit的辅助数据

HealthKit开发教程之HealthKit的辅助数据 在HealthKit中除了主要数据之外,还有6个辅助数据分别为:体积类型数据.压力类型数据.时间类型数据.温度类型数据.标量类型数据和电导率类型数据.本节将针对这6个辅助数据进行讲解. HealthKit的体积类型数据 体积,或称容量.容积,几何学专业术语,是物件占有多少空间的量.体积单位可以用来测量物体的体积.由体积单位和值组成的数据就是体积类型的数据.体积单位可以分为:国际体积单位.英制体积单位和美制体积单位. 1.国际体积单位 体积

HealthKit开发教程之HealthKit的复合数据

HealthKit开发教程之HealthKit的复合数据 复合数据就是复合单位和值构成的数据.所谓复合单位就是由单位进行乘法.除法等得到的单位,如m/s.lb·ft等就是复合单位.本节将针对这些复合数据进行讲解. HealthKit的相乘得到的复合数据 在物理学中我们可能接触过类似lb·ft(扭矩单位,扭矩是使物体发生转动的一种特殊的力矩.)这样的单位.这种单位我们可以看做是两个单位相乘得到的复合单位.开发者如果想要在自己的程序中使用这种复合单位,首先需要对这种单位进行创建.创建这种单位需要使用

HealthKit开发教程之HealthKit的主要类型数据

HealthKit开发教程之HealthKit的主要类型数据 在HealthKit中,我们将最常用到的数据称之为主要数据.主要数据基本上有三种:长度类型的数据.质量类型的数据.能量类型的数据.本节将主要对这三种主要数据进行讲解. 长度类型数据 长度单位是指丈量空间距离上的基本单元,是人类为了规范长度而制定的基本单位.而长度单位和数值构成的就是长度类型数据.根据单位的类型不同,该类型可以分为国际长度单位和英制长度单位两种.以下就是对这两种长度单位的介绍. 1.国际长度单位 国际长度单位是“米”为单