Debugging UIKit Views with Reveal
Learn how to use the Reveal app to find and fix layout and rendering problems in UIKit views. Brought to you by the fine folks at Itty Bitty Apps. By Audrey Tam.
Who is this for?
This course is for iOS developers who need a comprehensive tool to find and fix layout and rendering problems in UIKit views.
You’ll use the great Reveal tool to do this, built by the folks at Itty Bitty Apps.
You should have experience with using Xcode to layout UIKit views.
Covered concepts
- Finding auto layout constraint problems
- Modifying layout & rendering while your app is running
- Debugging layout & rendering problems
Part 1: Getting Started
Download and activate Reveal.
Set up a user breakpoint to integrate Reveal into Xcode. Connect to the sample project running in a simulator.
Learn how to use Reveal’s outline, canvas, inspectors and keyboard shortcuts.
Use Reveal to familiarize yourself with the sample project.
Part 2: Find & Fix
Learn how to identify and fix the problem of a missing or accidentally deleted autolayout position constraint.
Learn how to find and fix an unsatisfiable constraint, like setting a size smaller than the view’s instrinsic content size.
It’s easy to forget to turn off translatesAutoresizingMaskIntoConstraints
on a UIView
. Learn how to detect and fix this common constraint error.
Fix an untappable button by fixing a constraint on a neighboring button.
Part 3: Check & Adjust
Learn how to use Reveal to check accessibility labels without using accessibility inspector or VoiceOver mode on a device.
Learn how to use Reveal to identify the gesture recognizers in your app and try out different behaviors for them.
Learn how to check your app’s appearance in dark mode, faster than using Xcode’s environment override.
Learn how to use Reveal to determine the correct offset for a map annotation so the pin points to the location.
Learn how to easily test for extreme cases of text overflow without affecting your unit testing code.
Depending on their runtime content, some views might be compressed. Check your views and decide how to adjust layout priorities.