(CBIntrospector)内部检查工具是IOS和IOS模拟器的小工具集,帮助在调试的UIKit类的用户界面,它尤其有用于动态UI布局创建,或可以在运行时改变,或调节性能,发现非不透明的视图,或不必要重新绘制的视图.它使用于IOS模拟器设计,但是也可用在设备上!
 
它使用键盘快捷键来处理开始,结束和其他命令.它也可以通过一个广泛的 UIGestureRecognizer 调用,如果它是在设备上使用.

特点

1.简单的设置和使用
2.兼容于IOS模拟器伴随的桌面应用程序
3.在运行过程中发送消息(调用任何方法)到所选的视图从桌面应用程序,或从设备(轻按状态栏)
4.通过应用程序全键盘命令控制
5.突出视图帧
6.显示一个视图位置与大小,包括主窗口边缘的距离
7.在运行过程中使用快捷键,移动和调整视图帧
8.记录视图属性,包括子类的属性,行动和目标(见下面的例子)
9.记录 - 有用的辅助功能属性UI自动化脚本
10.手动调用setNeedsDisplay,setNeedsLayout reloadData(UITableView中)
11.突出显示所有视图概述
12.突出非不透明的所有视图,
13.显示视图警告,定位在非整数的位置(绘制时,会造成模糊不清)
14.打印层次(通过私人方法recursiveDescription)控制台
 
用法
在开始之前确保调试环境变量设置。 CBIntrospect没有设置将无法运行,以防止它被留在生产使用。
 
添加CBIntrospect类文件到您的项目中,如果需要的话,添加QuartzCore的框架。去启动:[window
makeKeyAndDisplay]

// always call after makeKeyAndDisplay.
#if TARGET_IPHONE_SIMULATOR
[[CBIntrospect sharedIntrospector] start];
#endif

#if 目标为模拟器,但并非必须是一个好主意,以进一步防止在生产代码中留下它。

一旦安装,只需按空格键来默认调用或然后开始点击视图上获取信息。您也可以点击并拖动周围的界面。

提供自定义的视图名称:

- (void)viewDidLoad
{
[super viewDidLoad]; // provide custom names for use by the View Introspector desktop app and console output
[[CBIntrospect sharedIntrospector] setName:@"myActivityIndicator" forObject:self.activityIndicator accessedWithSelf:YES];
[[CBIntrospect sharedIntrospector] setNameForViewController:self];
}

使用Interface Builder中设置自定义的视图名称:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// must be set before any nib is called
[CBIntrospect setIntrospectorKeyName:@"introspectorName"];
...

包括一个小的演示应用程序对其进行测试。

选择键盘快捷键

1.启动/停止:空格

2.帮助:?

3.选择视图打印属性和操作在控制台:P

4.打印所选视图的辅助功能属性和行动在控制台:

5.切换所有视图轮廓:o

6.切换突出非不透明的视图:O

7.微调查看向左,向右,向上和向下:4 6 8 2(使用数字键盘)或←→↑↓

8.打印出选定的视图微调/调整大小后的新frame在控制台:0

9.打印选定的视图递归描述在控制台:V

记录选定视图属性

按 p 的打印出有关选定视图中的可用属性。将努力使CBIntrospect的价值感,它可以显示更多有用的信息。一个UISegmentedControl的一个例子:

** UISegmentedControl:0x6d5eca0 : UIControl : UIView : UIResponder : NSObject ** 

  ** UIView properties **
tag: 0
frame: {{20, 66}, {207, 30}} | bounds: {{0, 0}, {207, 30}} | center: {123.5, 81}
transform: [1, 0, 0, 1, 0, 0]
autoresizingMask: UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin
autoresizesSubviews: YES
contentMode: UIViewContentModeScaleToFill | contentStretch: {{0, 0}, {1, 1}}
backgroundColor: nil
alpha: 1.00 | opaque: NO | hidden: NO | clipsToBounds: NO | clearsContextBeforeDrawing: YES
userInteractionEnabled: YES | multipleTouchEnabled: NO
gestureRecognizers: nil
superview: <UIView: 0x6d4e820; frame = (0 20; 320 460); autoresize = W+H; layer = <CALayer: 0x6d4e8a0>>
subviews: 2 views [<UISegment: 0x6d5f680>, <UISegment: 0x6d5ef90>] ** UISegmentedControl properties **
removedSegment: nil
segmentedControlStyle: 2
numberOfSegments: 2
apportionsSegmentWidthsByContent: NO
selectedSegmentIndex: 0
tintColor: nil ** Targets & Actions **

自定义键绑定

编辑文件DCIntrospectSettings.h改键绑定。您可能要更改的键绑定,如果你使用一台笔记本电脑/无线键盘开发。请记住,你可以使用“查看内部检查桌面应用程序与UIView对象,甚至调用方法对所选视图使用视图使者(见截图)。
 
许可
在MIT许可下提供。
 
CBIntrospector DCIntrospect到CBIntrospect变化由克里斯托弗·贝丝
 
最初由帕特里克理查兹domesticcatsoftware.com的概念和实施DCIntrospect
demo下载:http://download.csdn.net/detail/p709723778/5718267
源地址:
https://github.com/cbess/CBIntrospector

CBIntrospector俗称:内部检查工具的更多相关文章

  1. 【FLYabroad 】微软内部代码检查工具 (Microsoft Source Analysis for C#)[转]

    SourceAnalysis (StyleCop)的终极目标是让所有人都能写出优雅和一致的代码,因此这些代码具有很高的可读性. 早就听说了微软内部的静态代码检查和代码强制格式美化工具 StyleCop ...

  2. C#静态代码检查工具StyleCode

    C#静态代码检查工具StyleCode -- 初探 最近我们Advent Data Service (ADS) 在项目上需要按照代码规范进行代码的编写工作,以方便将来代码的阅读与维护. 但是人工检查起 ...

  3. React Native工程中TSLint静态检查工具的探索之路

    建立的代码规范没人遵守,项目中遍地风格迥异的代码,你会不会抓狂? 通过测试用例的程序还会出现Bug,而原因仅仅是自己犯下的低级错误,你会不会抓狂? 某种代码写法存在问题导致崩溃时,只能全工程检查代码, ...

  4. 玩转Eclipse — 自动代码规范检查工具Checkstyle

    大项目都需要小组中的多人共同完成,但是每个人都有自己的编码习惯,甚至很多都是不正确的.那么如何使小组所有开发人员都遵循某些编码规范,以保证项目代码风格的一致性呢?如果硬性地要求每个开发人员在提交代码之 ...

  5. 痞子衡嵌入式:恩智浦SDK驱动代码风格、模板、检查工具

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是恩智浦 SDK 驱动的代码风格. 上周痞子衡受领导指示,给 SE 同事做了一个关于 SDK 代码风格的分享.随着组内新人的增多,这样的培训 ...

  6. 安天移动安全应对“DressCode”威胁,发布企业移动威胁检查工具

    近日,一种名为"DressCode"的恶意代码引起了国内安全行业的关注,该恶意代码以企业员工的移动设备作为跳板对企业内网进行攻击,对企业安全造成严重威胁.安天移动安全公司威胁情报团 ...

  7. [原创]Java静态代码检查工具介绍

    [原创]Java静态代码检查工具介绍 一  什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数 ...

  8. Flow: JavaScript静态类型检查工具

    Flow: JavaScript静态类型检查工具 Flow是Facebook出品的,针对JavaScript的静态类型检查工具.其代码托管在github之上,并遵守BSD开源协议. 关于Flow 它可 ...

  9. 最近开始研究PMD(一款采用BSD协议发布的Java程序代码检查工具)

    PMD是一款采用BSD协议发布的Java程序代码检查工具.该工具可以做到检查Java代码中是否含有未使用的变量.是否含有空的抓取块.是否含有不必要的对象等.该软件功能强大,扫描效率高,是Java程序员 ...

随机推荐

  1. 【Remove Duplicates from Sorted Array II】cpp

    题目: Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For ex ...

  2. LeetCode668马在棋盘上的概率

    已知一个 NxN 的国际象棋棋盘,棋盘的行号和列号都是从 0 开始.即最左上角的格子记为 (0, 0),最右下角的记为 (N-1, N-1). 现有一个 “马”(也译作 “骑士”)位于 (r, c)  ...

  3. 二分法 Binary Search

    二分法还是比较常见和简单的,之前也遇到过一些二分的相关题目,虽然不难,但是每次都需要在边界问题上诸多考虑,今天听了九章算法的课程,学习到一种方法使得边界问题简单化. 二分法的几个注意点: 1. mid ...

  4. 三种框架对比react vue 和Angular对比

    https://blog.csdn.net/runOnWay/article/details/80103880 angular 优点 背靠谷歌 使用typescript 便于后端人员开发上手 完整 不 ...

  5. PHP简单登录退出代码

    PHP简单登录退出代码 登录页面login.html 负责收集用户填写的登录信息.  <html> <head> <title></title> < ...

  6. spring IOC注解方式详解

    本文分为三个部分:概述.使用注解进行属性注入.使用注解进行Bean的自动定义. 一,概述 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以 ...

  7. 【转】C# client 与java netty 服务端的简单通信,客户端采用Unity

    http://blog.csdn.net/wilsonke/article/details/24721057 近日根据官方提供的通信例子自己写了一个关于Unity(C#)和后台通信的类,拿出来和大家分 ...

  8. 洛谷9月月赛round2

    洛谷9月月赛2 t1 题意:懒得说了 分析:模拟 代码: program flag; var a:..,..]of char; n,i,m,j,x,y,ans,k:longint; begin ass ...

  9. BZOJ 1975 魔法猪学院(A*+手写堆)

    1975: [Sdoi2010]魔法猪学院 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 1941  Solved: 595 [Submit][Sta ...

  10. SPOJ - SUBLEX 【后缀自动机】

    题目 求第K小子串 题解 建好SAM后,拓扑排序,反向传递后面所形成的串的数量 最后从根开始,按照儿子形成串的数量与k比较走就好了 #include<iostream> #include& ...