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. 我刚知道的WAP app中meta的属性(转载)

    之前我一直做的都是WEB前端开发,来北京以后面试了一个移动前端开发,WAP前端开发. 其实在原来公司的时候也做过这方面的开发,可面试的时候面试官问我,要想强制让文档与设备的宽度保持1:1,mate标签 ...

  2. MyBatis之代理开发模式

    1 mybatis-Dao的代理开发模式 Dao:数据访问对象 原来:定义dao接口,在定义dao的实现类 dao的代理开发模式 只需要定义dao接口,由mybatis产生dao接口的实现类. 1.1 ...

  3. [Android] 解析android framework下利用app_process来调用java写的命令及示例

    reference to :http://bbs.9ria.com/thread-253058-1-1.html 在android SDK的framework/base/cmds目录下了,有不少目录, ...

  4. python基础——实例属性和类属性

    python基础——实例属性和类属性 由于Python是动态语言,根据类创建的实例可以任意绑定属性. 给实例绑定属性的方法是通过实例变量,或者通过self变量: class Student(objec ...

  5. 浅析 - 提高xib(Interface Builder)高效工作的几个小技巧

    本文译自:8 Tips for working effectively with Interface Builder(需FQ)先来看看目录:介绍使view的Size与view中的Content相适应按 ...

  6. app性能测试点、安全测试点总结

  7. MySQL zabbix

    http://liqingbiao.blog.51cto.com/3044896/1712080

  8. PHP面向对象编程之深入理解方法重载与方法覆盖(多态)

    这篇文章主要介绍了PHP面向对象编程之深入理解方法重载与方法覆盖(多态)的相关资料,需要的朋友可以参考下: 什么是多态? 多态(Polymorphism)按字面的意思就是"多种状态" ...

  9. AngularJS 之 Factory、Service、Provider

    当你初试 Angular 时,很自然地就会往 controller 和 scope 里堆满不必要的逻辑.一定要早点意识到,controller 这一层应该很薄:也就是说,应用里大部分的业务逻辑和持久化 ...

  10. freemarker 实现对URL的安全编码

    [#setting url_escaping_charset='utf-8'] ${yourstr?url}