Reveal 1.5
Note: The Reveal library has changed. Please remember to update your projects to link to the new library version, and double check that you're linking all of the required frameworks and libraries.
New Features
Auto Layout Inspection
- Constraints are now shown in the outline and canvas.
- The new layout inspector shows the constraints a view participates with.
- You can select related views and constraints in the layout inspector by clicking the link icon.
- Constraints owned by a view are displayed as child elements in the outline.
- Constraints created by the application are shown with purple icons and those created by the system are blue.
- Selecting a constraints group in the outline displays all the constraints contained within the group in the canvas.
- Selecting a view in the outline displays all the constraints the view participates with on the canvas.
- Auto layout information such as content hugging, compression resistance, intrinsic size, alignment rect and alignment rect insets are displayed in the new layout inspector.
- You can toggle the visibility of constraints to tailor the amount of information displayed.
New Inspectors
- The inspectors have been completely redesigned. Property sub-groupings make finding related properties much easier than before.
- A new layout inspector displays all properties relevant to a view’s layout and position.
- An inspector for WKWebView has been added.
- The following property editors have been added:
- UITextView selectable.
- UINavigationBar barTintColor.
- UITextView and UIWebView dataDetectorTypes.
- UITableView separatorInset, estimatedRowHeight, estimatedSectionHeaderHeight, estimatedSectionFooterHeight, sectionIndexBackgroundColor and sectionIndexTrackingBackgroundColor.
- UISearchBar searchBarStyle and barTintColor.
- UIScreen nativeBounds, nativeScale, overscanCompensation and screen modes.
- UIDatePicker date, minimumDate, maximumDate and countDownDuration.
Usability Improvements
- You can now hide the UITextEffectsWindow so that it does not obstruct other views on the canvas.
- The class name and memory address of a UIView’s related UIViewController are now shown in the identity inspector.
- The focus level, position and zoom are now re-instated where possible after a refresh.
- The canvas render mode is now selectable on the canvas toolbar.
- You can now explore a sample iOS application (Soundstagram), available from the new welcome screen, without having to compile or link the Reveal library in Xcode. You will need Xcode 6 and the commandline tools to be set appropriately for this to work.
- Views hidden from display in the canvas are now shown in italic text in the outline.
- UIView accessibility ID, label and restoration identifier are now used to annotate outline items.
- Panning in the canvas now accounts for the zoom level.
- You can now reset the position and zoom level of the scene in the canvas using ⌘E. Great when you get lost!
- The protocol version can be viewed by clicking the application version number in the ‘About Reveal’ screen. This can be useful when debugging connection problems to make sure your application is linked against the correct version of the Reveal library.
- The outline view can now be expanded further horizontally to cater for deep hierarchies displayed on wide screens.
- Icons in the outline have been completely revised with many new ones added.
- The window size and position is now restored when the application is launched.
Bug Fixes
- Installing Reveal on multiple user accounts on the same machine now works.
- Fixed rendering of applications running in scaled mode.
- Fixed UISearchBar rendering in the canvas when the background position is changed.
- Fixed rendering issues with UITextView in the canvas when the font is changed.
- The forward and backward focus history buttons are now symmetrical :)
- Fixed a problem where updating a UIButton’s label font would revert a previous colour change.
- Fixed a crash when undoing a change after refreshing.
- Zooming in the canvas is now centered on the viewport.
- Fixed a crash in the font inspector when the font is nil.
- Fixed an occasional problem where bitmaps were being cleared but not refreshed for child views of a modified view.
- Fixed an occasional issue where subview modifications were not being reflected in the outline.
- Fixed a crash that would occasionally occur when closing the window with ⌘W.
- Fixed a bug where you could drag a file in to the path bar at the top of the screen.
- Fixed crash when dynamically loading the Reveal library when it's already statically linked. An error message is now logged to the console.
- Fixed an occasional problem where refreshing Reveal after restarting the inspected app with a modified view hierarchy shows a partially stale snapshot.
- Fixed a crash when focussing on a transformed view inside a UITransitionView on iPad running iOS 7 in landscape orientation.
- Fixed a problem where refreshing quickly in succession causes Reveal to lock up.
- Fixed a problem navigating forward and backward in the focus history when parent views are collapsed.
Known Issues
- When running an application on the iPhone 6 Plus simulator, some views laid out using constraints whose height or width end up being smaller than ⅓ point don’t render content for the view in the canvas. This works fine on device.
- Changing any CALayer property on an instance of UIImageView or its subclass makes the image disappear.
- Toggling from HEX to RGBA representation of a grayscale colour resets the colour to nil.
- Baseline and margin constraints are not displayed in the canvas.
Platform Support
The minimum platform support for Reveal 1.5.0 is iOS 6.1 and OS X 10.8.5. Future point releases will offer minimum platform support for iOS 7.1 and OS X 10.9.5.