Ho provato a creare la sottoclasse @IBDesignable UIView seguendo questo tutorial (link). La prima vista personalizzata va bene. Ma quando provo a farne un altro, ho degli errori. Per prima cosa ho ottenuto failed to update auto layout status: the agent crashed
e Failed to render instance of ...
. In qualche modo ho iniziato a essere in grado di generare ed eseguire il progetto con questi errori, ma poi ricevo un nuovo errore - EXC_BAD_ACCESS ...
sulla linea let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView
. Ecco il metodo completo:Instantiate vista dal pennino genera errore
func loadViewFromNib() -> UIView {
let bundle = NSBundle(forClass: self.dynamicType)
let nib = UINib(nibName: "advancedCellView", bundle: bundle)
let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView
return view
}
Con il primo UIView personalizzato non è un problema. Io uso lo stesso codice ..
Tutte le idee? Grazie
Hai scritto "La prima vista personalizzata va bene". Significa che sei effettivamente in grado di caricare la vista una volta, ma poi se provi a caricarla di nuovo ottieni un errore? –
Inoltre, quale è la ragione per usare 'NSBundle: forClass:' invece di accedere a 'NSBundle.mainBundle()'? Questo 'nib' è memorizzato in un altro pacchetto? –
Ciò suggerisce che il problema non è con il codice che carica e istanzia il 'nib', ma con qualcosa nel file' xib' stesso. Hai modificato la 'classe' per la sottoclasse della vista nel generatore di interfacce per' xib'? –