2012-04-27 15 views
6

Ci scusiamo perché vedo che le persone hanno già fatto domande come questa in precedenza. Tuttavia, non ho avuto molta fortuna seguendo le istruzioni. Mi interessa creare una vista personalizzata con un file xib e riutilizzarla in un altro file xib del controller di visualizzazione.Problemi con il caricamento della vista personalizzata da xib in un altro xib

posti esistenti:

Using xib object inside another xib

How to use a xib and a UIView subclass together?

ho già:

  • creato un file XI ter personalizzato (chiamiamolo CustomView.xib), e .h corrispondente e File di classe .m
  • Impostare il file del proprietario del file xib su CustomView
  • creato un UIView di livello superiore con altre idee, come i bambini (di ecc UILabel)
    • NOTA questo ha un figlio UIView che è una visualizzazione personalizzata scritto in codice, così
  • cablato le IBOutlets
  • Creato un file ViewController.xib
  • Aggiunto un UIView, impostare la classe di CustomView e anche cablata che fino

Ciò risulta in una vista vuota che compare quando creo l'applicazione.

Allora ho provato quello che uno dei posti di cui sopra ha detto di fare che era sovrascrivere il metodo initWithDecoder di CustomView e aggiungendo il seguente:

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

Questo, purtroppo, è stato conseguente il seguente errore:

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

Ho pensato che potrebbe essere perché non ho impostato la vista di livello superiore in CustomView.xib per essere di classe CustomView. Quindi l'ho quindi modificato in CustomView, quindi le cose sono andate in ricorsione infinita. Il che ha senso dal momento che si sta ricaricando da solo più e più volte.

Non so cosa mi sia perso da quei post precedenti, ma apprezzerei qualsiasi guida! Grazie!

+0

La mia ipotesi è che l'impostazione del file del proprietario del file xib in visualizzazione personalizzata sia il problema. Forse questo approccio aiuta: http://stackoverflow.com/questions/17487911/uiview-subclass-with-a-delegate-using-nib/17491977#17491977 – alexbumbu

risposta

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

Motivo sopra error arriva normalmente a causa del fallimento delle connessioni nel Interface Builder, che è l'oggetto UIViewController con i corrispondenti oggetti nella classe di implementazione. Si prega di verificare la connessione a tutti nel Interface Builder. Verificare anche il proprietario del file nel file xib.

Spero che questo risolva il tuo problema.

Problemi correlati