Debugging with breakpoints in Xcode

Debugging is inherently linked to development, regardless of the programming language or the platform for which the software is implemented. A good knowledge of the debugging techniques and of the development environment debugging features makes the process of finding issues and tracing the program flow much more efficient. Xcode integrates several advanced debugging features relying Continue reading…

 

Simultaneous gesture recognizers

Touch screens put direct interface manipulation at the center of the user interaction with the device. Complex gestures, which go far beyond the simple button press, can be detected and translated by an app into meaningful actions. An entire gesture language has developed since the touch screens became popular, based on conventions that any developer Continue reading…

 

Custom animations for unwind segues

In the previous blog post I explained how to subclass UIStoryboardSegue to create custom transitioning animations between two view controllers hosted by the same navigation controller. The custom animation is applied only to the forward transition, when navigating from the first to the second view controller. By pressing the Back button, the default pop animation Continue reading…

 

Animated view controllers transition with custom segues

In addition to view animations, which can be performed using different techniques and APIs (View animation using UIMotionEffect, UIKit Dynamics overview]), it is possible to create custom animations for the transitions between view controllers. Navigating from one view controller to another is driven by animations since the oldest iOS versions. The default animations have become Continue reading…

 

Adaptive Layout: Part 5 – Layout debugging using Xcode views inspector

In the last blog post I explained several techniques for debugging Auto Layout issues using the storyboards in development mode and the Xcode console at runtime. Each of these techniques has its limitations: the storyboards are rarely used to entirely define the UI , especially when the view hierarchy starts to become a bit complex. Continue reading…

 

Adaptive Layout – Part 4: Debugging Auto Layout constraints

Applying the Adaptive Layout principles in designing app user interfaces means relying on Auto Layout for sizing and placing the views on screen the right way. With the multiplication of screen sizes, resolutions and devices to support, iOS developers are forced to embrace the Auto Layout technology and abandon the old techniques of manually setting Continue reading…

 

Adaptive Layout – Part 3: Orientation specific layouts

As explained in the Part 1 of this adaptive layout series, the size classes give an approximate idea about the horizontal and vertical dimensions of that object (width and height). They are returned by the traitCollection property of any object that conforms to the UITraitEnvironment protocol, like UIView or UIViewController instances. The size classes don’t Continue reading…

 

Adaptive Layout – Part 2: Working with Interface Builder

The principals and goals of the adaptive layout in mobile design and the responsive layout in Web design are very similar. Their main purpose is to create user interfaces that readjust automatically to the screen size so the content is presented in the optimal conditions for the user. The tools and techniques for creating adaptive Continue reading…

 

Adaptive Layout: Part 1 – Understanding the concepts

Since 2007 and the first generation of iPhone, with its 3.5-inch screen and 320×480 pixel resolution, Apple has continuously accelerated the release cycle of new devices and families of devices with different screen sizes, resolutions and pixel densities, and there is no sign of slowing down. The successive iOS versions followed along, but before iOS6 Continue reading…

 

Auto Layout and constraints animation

Animations are an essential aspect of iOS and have become increasingly important in its latest versions. Besides providing a fun and immersive user experience, they play a major role in highlighting through motion the important parts of the content and complement the static hierarchy of information. There are multiple ways views can be animated in Continue reading…