Я чувствую вашу боль, когда дело доходит до того, что UIViewController - единственное, с чем вы можете указать загрузку пера, но я думаю, что это потому, что должен быть Владелец Файла, который является контроллером, или что-то в этом роде, хотя я не уверен, почему UIView не может быть владельцем файла.
Я думаю, вы можете поместить вещи в библиотеку под Custom Objects, но я думаю, что вы будете ограничены помещением туда UIView с классом, установленным в пользовательский подкласс UIView. Я действительно пытался расширить интерфейс разработчика, и похоже, что вы можете сделать это для OS X, но не для iPhone. Он включает в себя компиляцию кода для нового виджета в конструкторе интерфейса, чтобы сказать ему, как нарисовать виджет только внутри IB. Я думаю, что на самом деле есть шаблон OS X для этого.
Я думаю, что я, вероятно, сделал бы, чтобы создать основной вид в файле пера, который содержит все подпредставления, а затем в initWithCoder: в UIAwesomeSauce откройте файл пера, загрузите основной вид и просто поместите его в себя так что у вас есть «ненужное» представление между представлением UIAwesomeSauce и подпредставлениями (или подпредставлениями в зависимости от обстоятельств). Я не уверен, насколько это неэффективно, но при работе с некоторыми вещами это похоже на некоторые представления, такие как UIWebView похоже, у них один из этих, казалось бы, ненужных промежуточных взглядов (IIRC).
Если вы найдете лучшее решение, пожалуйста, скажите мне, потому что я тоже хотел бы знать.
EDIT
Теперь, когда я смотрю на это, я думаю, что UIView МОЖЕТ быть владельцем файла, вы просто не можете настроить его в IB. В основном вы бы назвали загрузку пера примерно так в подклассе UIView:
[связка loadNibNamed: @ "UISpecialSauce" владелец: собственные параметры: ...]
Я думаю, что если вы создаете розетки в UISpecialSauce или что-то еще, они должны быть назначены правильно из-за владельца: self.