2012-04-27 5 views
6

Извинения, потому что я вижу, что люди задавали такие вопросы раньше. Однако мне не повезло следовать инструкциям. Я заинтересован в создании пользовательского представления с xib-файлом и повторного использования его в другом файле контроллера xib.Не удалось загрузить пользовательский вид из xib в другой xib

Существующие Сообщений:

Using xib object inside another xib

How to use a xib and a UIView subclass together?

Я уже:

  • создал файл пользовательского XIb (назовем его CustomView.xib), и соответствующие .h и .m файлы классов
  • Установите владельца файла xib в CustomView
  • Создан верхний UIView уровня с другими видами, как дети (UILabel в т.д.)
    • Примечания это имеет ребенок UIView, который является настраиваемым представлением написано в коде, а
  • Проводным вверх IBOutlets
  • Создано ViewController.xib файл
  • Добавлен UIView, установите класс в CustomView, а также проводной, что до

Это приводит к появлению пустого представления при создании приложения.

Затем я попробовал то, что один из вышеуказанных должностей сказал, чтобы сделать что было переопределить метод initWithDecoder CustomView и добавив следующее:

NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:self options:nil]; 
UIView *mainView = [subviewArray objectAtIndex:0]; 
[self addSubview:mainView]; 

К сожалению, это было в результате следующей ошибки:

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: 
'[<UIView 0x548ff00> setValue:forUndefinedKey:]: 

Я думал, что это может быть потому, что я не задал представление верхнего уровня в CustomView.xib для класса CustomView. Поэтому я изменил его на CustomView, а затем все перешло в бесконечную рекурсию. Это имеет смысл, поскольку он просто перезагружается снова и снова.

Не уверен, что я пропустил с этих предыдущих сообщений, но я был бы признателен за любое руководство! Благодаря!

+0

Мое предположение заключается в том, что установка владельца файла xib в пользовательский вид является проблемой. Возможно, этот подход помогает: http://stackoverflow.com/questions/17487911/uiview-subclass-with-a-delegate-using-nib/17491977#17491977 – alexbumbu

ответ

1
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: 
'[<UIView 0x548ff00> setValue:forUndefinedKey:]: 

Причина выше error обычно происходит из-за провала связей в Interface Builder, то есть объект UIViewController с соответствующими объектами в классе реализации. Пожалуйста, проверьте все соединения в Interface Builder. Также проверьте владельца файла в файле xib.

Я надеюсь, что это решит вашу проблему.

Смежные вопросы