2012-04-27 15 views
6

Disculpa porque veo que las personas han hecho preguntas como esta antes. Sin embargo, no he tenido mucha suerte siguiendo las instrucciones. Estoy interesado en crear una vista personalizada con un archivo xib y reutilizarlo en el archivo xib de otra controladora de vista.Tiene problemas para cargar la vista personalizada de xib en otra xib

puestos existentes:

Using xib object inside another xib

How to use a xib and a UIView subclass together?

ya tengo:

  • creado un archivo xib personalizado (vamos a llamarlo CustomView.xib), y .h correspondiente y .m class files
  • Establezca el propietario del archivo xib en CustomView
  • Creado Un UIView nivel superior con otros puntos de vista como niños (de etc UILabel)
    • NOTA esto tiene un niño UIView que es una vista personalizada escrito en código, así
  • cablear los IBOutlets
  • crear el archivo a ViewController.xib
  • añadido un UIView, establecer la clase de CustomView y también por cable que hasta

Esto da como resultado una vista en blanco que aparece cuando construyo la aplicación.

Luego probé lo que uno de los postes por encima de dicho hacer que era reemplazar el método initWithDecoder de CustomView y añadiendo el siguiente:

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

Esto, desafortunadamente, se traduce en el siguiente error:

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

Pensé que esto podría deberse a que no configuré la vista de nivel superior en CustomView.xib para que fuera de la clase CustomView. Entonces lo cambié a CustomView, y luego las cosas entraron en recursión infinita. Lo cual tiene sentido ya que solo se está recargando una y otra vez.

No estoy seguro de lo que me perdí de esas publicaciones anteriores, pero agradecería cualquier orientación! ¡Gracias!

+0

Supongo que establecer el propietario del archivo xib en Custom View es el problema. Quizás este enfoque ayude: http://stackoverflow.com/questions/17487911/uiview-subclass-with-a-delegate-using-nib/17491977#17491977 – alexbumbu

Respuesta

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

Motivo de lo anterior error viene normalmente debido al fracaso de las conexiones en el Interface Builder, que es el objeto UIViewController con los objetos correspondientes en la clase de implementación. Por favor revise todas sus conexiones en el Interface Builder. Verifique también el propietario del archivo en el archivo xib.

Espero que esto resuelva su problema.

Cuestiones relacionadas