zoukankan      html  css  js  c++  java
  • CBIntrospector俗称:内部检查工具

     
    (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中设置自定义的视图名称:

    IOS开发之----CBIntrospector使用(翻译)

    - (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
  • 相关阅读:
    hdu 5119 Happy Matt Friends
    hdu 5128 The E-pang Palace
    hdu 5131 Song Jiang's rank list
    hdu 5135 Little Zu Chongzhi's Triangles
    hdu 5137 How Many Maos Does the Guanxi Worth
    hdu 5122 K.Bro Sorting
    Human Gene Functions
    Palindrome(最长公共子序列)
    A Simple problem
    Alignment ( 最长上升(下降)子序列 )
  • 原文地址:https://www.cnblogs.com/yingkong1987/p/3336622.html
Copyright © 2011-2022 走看看