Home

iPhone Development, Android development, iPad DevelopmentTwo Bit Labs builds iPad, iPhone, and Android apps your users will love! We turn your great ideas into great mobile apps. We take pride in building apps your users will love that look great — both on the device and under the hood.

Results
We practice agile planning and estimation, pair programming, and behavior-driven development. But what matters are results: some of the highest rated apps in the app store that users rave about!

Cost effective
From our first meeting, you’ll be working directly with the people building your app. Which means your app is exactly what you want and when you want it! Feel free to ask us for references.

Recent Posts

Frame geometry macros to improve your UIKit code

Frame geometryI find myself doing more and more dynamic UI layout in iOS apps these days. When elements of a UI need to resize to fit their contents, or move to accommodate other elements, the layout code can get complex and verbose. We’ve developed a set of Objective-C UIKit macros that help make this code more readable, self-documenting, and easy to change.

When a view is offset from another view, you might write something like this:

someView.frame = CGRectMake(someOtherView.frame.origin.x + someOtherView.frame.size.width + padding...

These macros help make that code more concise and scannable:

someView.frame = CGRectMake(RIGHT(someOtherView) + padding...

You can download the macros from our TBMacros Github repo. First let’s take a look at an example Continue reading

  1. Objective-C Singleton Pattern Updated For Testability 3 Replies
  2. Objective-C Blocks Cheat Sheet Leave a reply
  3. Kickstart your apps with the iOS Xcode Starter Project 2 Replies
  4. Block initialization for testability and reuse 8 Replies
  5. Toward a better “Rate this app” Leave a reply
  6. The reviews are in! Leave a reply
  7. Enable memory warnings in the iOS simulator to catch crash issues Leave a reply
  8. Reduce iOS memory utilization by taming NSURLCache 12 Replies
  9. Initializing UIViewControllers 10 Replies