iOS10 UI教程视图调试

iOS10 UI教程视图调试,当视图很复杂的时候,层次结构就不会很简单了。Xcode可以通过视图(View)调试帮助开发者解决层次结构复杂的问题。视图调试是在Xcode 6中引入的。通过视图调试,开发者可以看到当前的视图层次结构变为了一个可交互的三维原型视图,如图1.21所示。该三维视图除了展示app的视图层次外,还展示每个视图的位置、顺序和视图尺寸,以及视图间的交互方式。

 

图1.21  三维原型视图

【示例1-10:ViewHierarchy】以下将实现视图调试。具体的操作步骤如下:

(1添加image.png图像到创建的项目中。

(2打开Main.storyboard文件,对主视图进行设计,效果如图1.22所示。

 

图1.22  主视图的效果

需要添加的视图以及对它们的设置如表1-4所示。

表1-4  对视图对象的设置

视图

设置

Image View

Image:image.png

位置和大小:(0, 0, 375, 667)

Text View

Text:        蒲公英的种子靠风来传播,只是借助那么小小的力量就得以繁衍生息,它大概也是唯一能够飞翔的花了吧。

Background:透明色

位置和大小:(31, 108, 312, 68)

Switch

位置和大小:(294, 217, 51, 31)

(3运行程序后,启动视图调试,启动视图调试的方式有两种:一种是从菜单中选择Debug|View Debugging|Capture View Hierarchy来启动视图调试;另一种方式是在运行app过程中,按下底部的Debug View Hierarchy 按钮,如图1.23所示。

 

图1.23  启动视图调试

(4启动视图调试后,Xcode会对应用程序的视图层次结构拍一个快照并展示三维原型视图来探究用户界面的层级,如图1.24所示。

 

图1.24  视图调试

注意:在Xcode的调试区有9个视图调试过程中要用到的按钮和滑块儿,如图1.25所示。

图1.25  9个视图调试过程中要用到的按钮和滑块儿

这9个按钮和滑块儿从左到右排序的介绍如下:

  • 调整视图间距:调整不同视图间的间距。
  • 展示被剪切的内容:当前展示视图中被剪切的部分。
  • 展示约束:展示选中视图的约束。
  • 调整查看模式:选择性地展示3D渲染透视图,比如仅展示内容,仅展示框架以及同时展示内容和框架。
  • 重置查看区域:将3D渲染透视图恢复至默认状态。
  • 缩小:缩小3D渲染透视图。
  • 恢复:将3D渲染透视图恢复至默认尺寸。
  • 放大:放大3D渲染透视图
  • 调整可视视图范围:隐藏视图或展示视图,一步步解析3D渲染视图,向左或者向右滑动滑块儿有相反的效果。

(5使用重置查看区域按钮,重置查看区,此时会看到如图1.26所示。

图1.26  重置查看区

(6使用调整视图间距滑块控件将视图间距调整为最大,此时会看到如图1.27所示的效果。

 

图1.27  调整视图视图间距

此时会看到三维原型视图,并且三维视图除了展示app的视图层次外,还展示每个视图的位置、顺序和视图尺寸,以及视图间的交互方式。当开发者拖拽这个三维视图时,可以看到这个三维视图的各个方面。

相关阅读:iOS10 UI教程层次结构的事件

iOS10 UI教程视图调试的更多相关文章

  1. iOS10 UI教程视图的绘制与视图控制器和视图

    iOS10 UI教程视图的绘制与视图控制器和视图 iOS10 UI视图的绘制 iOS10 UI教程视图的绘制与视图控制器和视图,在iOS中,有很多的绘图应用.这些应用大多是在UIView上进行绘制的. ...

  2. iOS10 UI教程视图的生命周期

    iOS10 UI教程视图的生命周期 说到视图的生命周期一般都是指视图控制器的视图生命周期.在视图的声明周期中最主要的有8个方法,分别为loadView().viewDidLoad().viewWill ...

  3. iOS10 UI教程视图和子视图的可见性

    iOS10 UI教程视图和子视图的可见性 iOS10 UI教程视图和子视图的可见性,一个父视图可以通过clipsToBounds属性,定义子视图在边界(边界就是父视图的框架也就是父视图可以显示的范围) ...

  4. iOS10 UI教程视图的中心位置

    iOS10 UI教程视图的中心位置 center表示的是视图的中心位置属性,这个属性在相对的UI层次结构上工作,和frame类似.center属性是一个在父视图上定义视图的位置的简便方法.center ...

  5. iOS10 UI教程视图的边界与视图的框架

    iOS10 UI教程视图的边界与视图的框架 iOS10 UI视图的边界 在视图的几何形状中我们提到了视图属性中的一部分属性可以将定义的视图绘制在屏幕上.其中典型的3个属性为边界属性.框架属性以及中心位 ...

  6. iOS10 UI教程视图的几何形状

    iOS10 UI教程视图的几何形状 视图属性中的一部分属性可以让定义的视图绘制在屏幕上.在讲解这些属性前,我们首先将讲解,定义视图的几何形状所涉及到的结构类型.这些结构类型如下: CGPoint:它表 ...

  7. iOS10 UI教程子视图和父视图UI层次结构和Views继承

    iOS10 UI教程子视图和父视图UI层次结构和Views继承 iOS10 UI教程子视图和父视图UI层次结构和Views继承,本节将讲解与UI层次结构和Views继承相关的内容,其中包括子视图和父视 ...

  8. iOS10 UI教程基改变视图的外观与视图的可见性

    iOS10 UI教程基改变视图的外观与视图的可见性 视图是应用程序的界面,是用户在屏幕上看到的对象.用户可以通过触摸视图上的对象与应用程序进行交互,所以视图界面的优劣会直接影响到了客户体验的好坏.和视 ...

  9. iOS10 UI教程层次结构的事件

    iOS10 UI教程层次结构的事件 iOS10 UI教程层次结构的事件,层次结构中存在7个事件,对于这些事件的介绍如表1-3所示.通过这些事件,可以监听视图,当视图在层次结构上发生变化时可以被拦截,也 ...

随机推荐

  1. c#操作时间

    本年还剩下多少天 private string GetEndTime() { DateTime dt = DateTime.Now; DateTime startYear = DateTime.Now ...

  2. EF-实体更新

    1.数据库表增加字段,EF更新视图后,对应的实体对象没有新增的字段原因:edmx文件右键属性设置了 保存时转换相关的文本模板-false...正确的应该是rue 2. 更改视图后(或者更改字段类型?) ...

  3. 【C语言】指针

    错误一: 一种错误的写法: * sizeof(int)); * sizeof(int)); y = x; 没有必要为y开辟内存,因为y在开辟内存时 y内存储的地址时开辟的内存的位置, 但是后面又把x的 ...

  4. [Android Pro] DES加密 version1

    reference to : http://blog.csdn.net/wfung_kwok/article/details/7766029 加密和解密要用同一個key AES: import jav ...

  5. Redis事件管理(二)

    Redis的定时器是自己实现的,不是很复杂.说说具体的实现吧. 定时器的存储维护采用的是普通的单向链表结构,具体节点定义为: /*时间定时器结构体*/ typedef struct aeTimeEve ...

  6. chaper3_exercise_Uva1585_score

    #include<iostream> #include<string> using namespace std; int main(void) { , j = ; string ...

  7. IE8支持HTML5的占位符placeholder

    /*IE8支持placeholder占位符*/ if( !('placeholder' in document.createElement('input')) ){ $('input[placehol ...

  8. Android Service 与 Thread 的区别

    Ref:http://blog.csdn.net/jiangwei0910410003/article/details/17008687 1). Thread:Thread 是程序执行的最小单元,它是 ...

  9. 动手动脑之小程序:TryAndCatch

    源代码 import java.util.InputMismatchException;import java.util.Scanner;public class TryAndCatch {publi ...

  10. 重温WCF之构建一个简单的WCF(一)(1)通过控制台和IIS寄宿服务

    一.理解什么是WCFWCF就是.NET平台下各种分布式技术的集成,并提供了一套统一的编程接口 二.WCF的定义WCF(Windows Communication Foundation)是微软为构建面向 ...