XIB (представление построителя интерфейса) или класс, наследуемый от UIView, эквивалентны пользовательскому элементу управления. Это способы агрегирования вложенных представлений (представлений и подчиненных представлений, а не элементов управления).
Внутри XIB в конструкторе интерфейсов вы можете добавить другие элементы управления (перетащить из библиотеки) и поместить в представление. Файл, Новый файл, под iOS, Пользовательский интерфейс, Просмотр. Этот ТАК вопрос охватывает это:
Как связать файл пера (.xib) с UIView?
Если вы хотите сделать это программно, создайте новый класс target-c, который наследуется от UIView. В viewDidLoad вы можете программно создавать другие элементы управления и размещать их.
Вот программный учебник:
http://www.raywenderlich.com/1768/how-to-make-a-custom-uiview-a-5-star-rating-view
Наконец, общий тип «агрегатного управления» - это UITableViewCell для использования в таблицах. Вот учебник по созданию пользовательских ячеек UITableView как программно, так и с IB.
http://www.e -string.com / содержание / заказные-UITableViewCells-интерфейс-строитель
Эти руководства от Apple хорошо читать:
http://developer.apple.com/library/ios/#DOCUMENTATION/WindowsViews/Conceptual/ViewPG_iPhoneOS/Introduction/Introduction.html
http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/BasicViewControllers/BasicViewControllers.html
EDIT:
Я только что попробовал это ...
Добавьте XIB в ваш проект, как описано выше. Добавьте к нему несколько элементов управления, которые вы хотите объединить в виде многоразового использования.
Теперь - в одном из ваших других контроллеров View / view перетащите UIView, чтобы запросить пространство, где будет использоваться ваш агрегатный элемент управления.
Создайте IBOutlet UIView * _customView и, по вашему мнению, привяжите этот выход к тому UIview, который вы только что вытащили. На данный момент это всего лишь контейнер, и у вас есть iVar / IBOutlet, так что вы можете добавлять в него вещи.
До сих пор мы создавали макет UIView, который будет содержать наш совокупный элемент управления.
Используйте класс UINib, чтобы исключить ваш пользовательский контроль Xib. Вот код, который я вставил в viewDidLoad:
UINib *nib = [UINib nibWithNibName:@"TestView" bundle:nil];
[_customView addSubview:[[nib instantiateWithOwner:self options:nil] objectAtIndex:0]];
Не просто перетаскивание, а понимание того, что UINib кэширует макеты, чтобы вы могли быстро вырезать новые экземпляры и добавлять их в свою форму в любом месте, используя возможности управления макетом IB с помощью UIview.