Tag Archives: Development

Rate Limiting UITableView and UICollectionView Reloads

stopwatch_icon_featured

UICollectionView and UITableView are workhorse classes on iOS. As UICollectionView and UITableView contents become more complex and dynamic in your iOS apps it can prove difficult to maintain UI state and performance, especially when dealing with dynamic layout in UICollectionView or variable row height in UITableView. Oftentimes, the simplest code path is to simply reloadData. […]

Read more ...

Tutorial: Auto Layout Part 2

Button_with_non-HIG_Spacing-300x71

Using Auto Layout in Interface Builder can prove trying. While it works reasonably well when you declare constraints on simple views hierarchies, Auto Layout in IB has a couple of major limitations. As you saw in our previous Auto Layout tutorial, you cannot declare constraints across views that do not share the same superview in […]

Read more ...

Tutorial: Auto Layout Part 1

Two_Buttons_with_HIG_Spacing-300x81

What is Auto Layout? Auto Layout changes the way that you create your iOS and OS X user interfaces in simple, but powerful ways. Rather than explicitly setting the origin and size of UI elements, you declare constraints between views that describe how UI elements are displayed. Constraints represent the relationship between two user interface […]

Read more ...

Tutorial: Particle Systems in Core Animation with CAEmitterLayer

Visualizing_the_CAEmitterLayer_Math-163x300

Particle Systems Particle systems are fun visual candy to add to your apps. They are often used to create smoke, explosions, and fire effects in games. They make great touches in productivity apps as well. Delicious Library, for example, famously consumes a book with a fire animation when you remove a book from your virtual […]

Read more ...

Tutorial: Sharing Data Locally Between iOS Apps

AppDataSharing_Header

In the sandboxed world of iOS development sharing data between applications can prove difficult. There are a number of reasons you may want your application to share data with other applications. Releasing a paid app upgrade with a new SKU. Moving user data to a universal binary. Releasing a suite of complementary applications. Partnerships with […]

Read more ...