Часто вы хотите использовать Interface Builder; Есть несколько причин, почему вы хотели бы сделать это через программные интерфейсы:
- это более приемлемый способ создания пользовательских интерфейсов из-за его простоты и визуальных преимуществ, которых вы не можете достичь так просто, просто используя код.
- это помогает вашим приложениям соответствовать Руководствам по интерфейсу пользователя iPhone , благодаря использованию маркеров и т. Д., Которые Apple рекомендует разработчикам соблюдать, чтобы обеспечить согласованность и удобство использования в приложениях iPhone.
Несмотря на это, основная причина, почему программные интерфейсы иногда более выгодны по сравнению с использованием Interface Builder, заключается в элементах интерфейса, которые необходимо создавать несколько раз - например, при создании n
UIImageView
s - на основе переменной, которая не может реплицироваться в Интерфейсном Разработчике. Программные интерфейсы обеспечивают такую гибкость и обычно более эффективны в этом случае.
Обратите внимание, что NIB / XIB также занимают память, и если все ваши интерфейсы помещены в ваш основной файл NIB, это не только увеличит использование памяти вашим приложением (для ресурсов, которые в любом случае могут и не понадобиться мгновенно), но и это увеличит время загрузки. Тем не менее, как правило, обычным способом решения этой проблемы является не использование программных интерфейсов, а размещение различных групп элементов интерфейса в разных файлах NIB, в результате чего необходимые интерфейсы немедленно помещаются в основной файл NIB, который загружается при запуске приложения. и другие группы элементов интерфейса в других файлах NIB, которые загружаются при необходимости.
Короче говоря, общий способ заключается в использовании Interface Builder, за исключением случаев, когда вам нужно создать переменное количество элементов, которые не могут быть легко обработаны в Interface Builder.