iOS Open Source : User Interface Debugging with DCIntrospect

DCIntrospect, written by Patrick Richards of Domestic Cat Software, provides a nice set of tools for viewing properties of UI components, while an application is running. Included are options for displaying view locations and sizes as well as a views distance from the edge of the primary window; options for moving and resizing frames; logging view properties including subclasses properties, actions and targets.

Take a look at the screenshot on the left below, I’ve pressed the spacebar to enable DCIntrospect and tapped on the circle image in the upper right. Notice the information displayed for the UIImageView across the top where the status bar was previously shown, including the view size and location on screen. With a few keystrokes I can move and resize the image, as shown in the screenshot on the right.

As another example, in the screen below on the left , all views are outlined:

When DCIntrospect is active, you use hotkeys to invoke various operations such as moving views, logging, etc. The screenshot, above right, is the help screen listing the default hot keys and their actions – you can change the key bindings by editing an included configuration file.

As one who has always coded my user interfaces the old fashion way (sans Interface Builder), DCIntrospect is an intriguing tool, offering an inside look at layout information that is not easily accessible while running an app. There are many interesting features in DCIntrospect – take the demo project for a test drive, if nothing else it’s interesting to see layout information displayed in real time within an app.

Download DCIntrospect

You can download DCIntrospect from github.

Open Source Recommendations ?

Have you written or worked with iOS or Cocoa open source that you think others would find interesting, send me a note.

  1. You code your interfaces without IB? Brave, I try to because it gives me more control but IB just gives me more comfort knowing it will show up where it is supposed to be.

    Thanks for pointing out DCIntrospec though.. looks like a neat tool

Comments are closed.