视图调试

使用视图调试器检查您的视图层次结构,可以轻松地判断视图位置、大小以及实现问题。

  • 在XCode中运行你的应用程序,在调试栏上点击“调试视图层次”按钮,进入视图调试器。

XCode停止你的应用程序,在调试导航栏中显示视图层次,并在主编辑器中显示一个交互式三维模型。

选择显示的窗口,在主编辑器中点击任何位置,按下鼠标键进行拖拽。视图会分解成三维层次,方便您查看视图层的等级划分和视图之间的关系。

左侧的滑动按钮允许你去调节视图间距,使得您能更方便地观察单个视图对象。右侧的滑动按钮允许你使用“从后到前”或者“从前到后”的方式,在一个复杂的视图层次中过滤出特定视图。

  • 在两个滑动按钮中间的是编辑器按钮

  • 点击裁剪按钮去显示在主编辑器中当前显示的实体被裁剪的内容。

  • 点击显示约束按钮去显示在主编辑器中当前选择的视图图层的自动布局约束。

注:尺寸检查能让你去核查尺寸和约束值。

  • 使用重置按钮让主编辑器中视图以标准方向显示。
  • 点击视图模式按钮去选择是否在主编辑器中显示视图内容、线框,以及内容。
  • 缩放控件组允许你去增加或减少显示倍数,或者显示标准大小。

:你也可以利用夹点手势在主编辑器上放大缩小。在编辑器窗口中使用两个手指拖拽手势滚动显示的视图。

在主编辑器上以像素为单位精确显示颜色和尺寸。

  • 在视图层次结构中选择一个视图实体,也是在编辑器中选择它,然后在核查栏中会显示出它的属性。在调式导航窗口中视图层次结构显示了每个视图与它父视图、子视图,以及兄弟视图之间的关系。

 
:在编辑栏中选择一个实体设置为次要选择集,那么它会用比较浅的颜色显示在视图层次结构上。主要的选择集会用深色高亮显示。这些不同选择集可以在复杂的视图层次关系中分出主要视图(在视图层次结构上选择的)与其他选择的视图(在编辑栏选择的)之间的关系。
  • 过滤栏在视图层次结构下面,它含有两个过滤按钮(默认是启用的)。左边的按钮是显示主要视图,即它过滤掉从系统视图实现的二次元素实体对象(不受应用控制的)。右边的按钮只显示可见视图,即它过滤掉应用程序使用视图属性隐藏的视图。

    在过滤栏中输入类型名能方便地过滤出视图。

  • 使用辅助编辑器设置自动模式去查看选定视图对象的源代码。
注:当一个自定义视图对象被选择时,辅助编辑器显示实现文件。当一个系统框架提供的视图对象被选择时,辅助编辑器显示接口文件。
  • 在调试栏上点击继续按钮退出视图调试器,然后继续运行你的应用程序在XCode中。
 
相关链接:

Xcode视图调试的更多相关文章

  1. xcode的调试技巧

    转自:http://www.cnblogs.com/daiweilai/p/4421340.html#biyouji 目录 前言逼优鸡知己知彼 百战不殆抽刀断Bug 普通操作 全局断点(Global ...

  2. 使用Xcode进行调试

    目录 知己知彼 百战不殆抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints)打印的艺术 NSLog 开启僵尸对象(Enab ...

  3. 新版本Xcode 6的视图调试详解

    开发者会经常遇到视图或者Auto Layout约束中存在bug的情况,并且这种bug很难通过代码发现,所以开发者很有必要熟知如何进行简单高效的视图调试,而Xcode 6的发布使得视图调试变得前所未有的 ...

  4. iOS10 UI教程视图调试

    iOS10 UI教程视图调试 iOS10 UI教程视图调试,当视图很复杂的时候,层次结构就不会很简单了.Xcode可以通过视图(View)调试帮助开发者解决层次结构复杂的问题.视图调试是在Xcode ...

  5. iOS 视图调试器(Debug View Hierarchy) 之 初试牛刀

    参考:http://blog.csdn.net/th_gsb/article/details/44856795 由于iOS的界面开发大多都是用代码实现的,编写的时候,那就是看不见摸不着的情况.所以,如 ...

  6. iOS开发之Xcode常用调试技巧总结

    转载自:iOS开发之Xcode常用调试技巧总结 最近在面试,面试过程中问到了一些Xcode常用的调试技巧问题.平常开发过程中用的还挺顺手的,但你要突然让我说,确实一脸懵逼.Debug的技巧很多,比如最 ...

  7. Xcode 常用调试技巧总结

    NSLog,po命令和普通断点调试相信每个iOS开发者都会,这里就不作介绍了. 一.Memory Graph Xcode8新增:Memory Graph解决闭包引用循环问题 有很多叹号说明就有问题了. ...

  8. Xcode 7 调试野指针利器 Address sanitizer

    Xcode 7 调试野指针利器 Address sanitizer 什么是Address Sanitizer? AddressSanitizer is a fast memory error dete ...

  9. 如何使用Xcode分析调试在真机运行的UE4 IOS版游戏

    写本文的是因为UE4 官方文档虽然也有,但主要讲的是是用UE4Editor把游戏打成一个IPA包的形式发布的方法 而对于想通过Xcode分析UE4的渲染流程来学习或优化的朋友,那官方文档的资料还是不够 ...

随机推荐

  1. jquery操作radio单选按钮、checked复选框。

    一.radio 取值: $('input[name=radio]:checked').val(); 二.checked 判断checked是否被选中 $("input[type='check ...

  2. linq 动态组合条件

    http://www.albahari.com/nutshell/predicatebuilder.aspx Dynamically Composing Expression Predicates S ...

  3. 设计模式:模版模式(Template Pattern)-转

    模版模式 又叫模板方法模式,在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变算法结构的情冴下,重新定义算法中的某些步骤. 我们使用冲泡咖啡和冲泡茶的例子 加工流程 ...

  4. Unity3D事件函数的执行顺序 - 包含渲染等模块的完整版,中英文对照

    原文地址: http://www.cnblogs.com/ysdyaoguai/p/3746828.html In Unity scripting, there are a number of eve ...

  5. docker-1 初识docker

    五分钟认识docker 什么是docker? 把他想象成一个用了一种新颖方式实现的超轻量虚拟机,在大概效果上也是正确的.当然在实现的原理和应用上还是和VM有巨大差别的,并且专业的叫法是应用容器(App ...

  6. Nginx为什么比Apache Httpd高效:原理篇

    一.进程.线程? 进程是具有一定独立功能的,在计算机中已经运行的程序的实体.在早期系统中(如linux 2.4以前),进程是基本运作单位,在支持线程的系统中(如windows,linux2.6)中,线 ...

  7. 一个关于group by和having子句的小例子

    表结构: 要求: 查询有多个员工的工资不低于2000的部门编号(就是说如果一个部门的员工大于2000的人数有两个或两个以上就查询出来) sql语句: select [DEPARTMENT_ID],co ...

  8. ASP.NET导出bdf文件

    1.导出助手类 using System;using System.IO;using System.Data;using System.Data.OleDb;using System.Web;usin ...

  9. cocos2d-x之场景转换特效

    bool HelloWorld::init() { if ( !Layer::init() ) { return false; } Size visibleSize = Director::getIn ...

  10. nyoj 237 游戏高手的烦恼 二分匹配--最小点覆盖

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=237 二分匹配--最小点覆盖模板题 Tips:用邻接矩阵超时,用数组模拟邻接表WA,暂时只 ...