Я экономлю массу времени при работе с UIControllers (UITabBarControllers, UINavigationControllers и т. Д.) На этапе запуска, когда все элементы навигации подключены.
Я просто создаю X viewControllers с сопровождающим XIB, добавляю необходимые материалы для IB, метки, изображения и т. Д. Это означает, что практически для любого приложения вы можете получить подтверждение концепции в течение нескольких часов. Этого достаточно, чтобы оправдать тратить некоторое время на изучение тонкостей IB. Особенно на iPhone, где у вас может быть масса хороших идей пользовательского интерфейса, но все они терпят неудачу при переходе от симулятора к реальному устройству.
Лучшее, на мой взгляд, это сбалансировать, если вы тратите много времени на "изменить кадр 3 px -> compile -> ahh .. нужны еще два пикселя -> change 2 px - compile -> ahh .. еще 1 px "для того, что можно сделать в IB, вы серьезно начнете тратить время.
Я начинаю как выше, но потом я часто выбрасываю XIB для нестандартных вещей. Хитрость заключается в том, чтобы не тратить часы на реализацию версий пользовательских вещей в коде снова и снова, а выяснить, как это должно быть, и делать пользовательские вещи один раз:)