In layoutSubviews
Sto chiamando setImage()
e lo passo a UIImage
ma non compare mai in Interface Builder, ma si presenta sempre quando eseguo il programma.Perché il mio IBDesignable non mi consente di usare setImage: sul mio UIButton personalizzato?
5
A
risposta
12
Probabilmente si sta caricando il vostro UIImage con questo metodo:
UIImage *image = [UIImage imageNamed:@"image"];
Questo non funziona in Interface Builder perché imageNamed: metodo utilizza fascio principale, ma IB carichi risorse in modo diverso. Provare qualcosa di simile:
- (void)prepareForInterfaceBuilder
{
UIImage *image = [UIImage imageNamed:@"image" inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil];
[self setImage:image forState:UIControlStateNormal];
}
1
Andando a dare la risposta rapida per chi si imbatte in questo problema come ho fatto io.
Il problema è che i percorsi delle immagini in Interface Builder sono diversi da quelli presenti nell'app.
let bundle = Bundle(for: self.classForCoder)
image = UIImage(named: "your_image.png", in: bundle, compatibleWith: self.traitCollection)!
self.setImage(image, for: .normal)
Problemi correlati
- 1. Perché il mio MKPointAnnotation non è personalizzato?
- 2. UIButton setTitleColor e setImage non funziona
- 3. Perché Maven non può trovare il mio Mojo personalizzato?
- 4. LaunchScreen.xib non visualizza il mio carattere personalizzato
- 5. Perché il mio attributo Core Data trasformabile non utilizza il mio NSValueTransformer personalizzato?
- 6. Perché il mio servizio Windows non scrive sul mio file di registro?
- 7. Perché il mio file .wpp.targets non viene applicato sul mio build server?
- 8. Perché il mio titolo utilizza un carattere personalizzato non centrato verticalmente nel mio ActionBar?
- 9. Perché virtualenv non imposta il mio terminale?
- 10. Perché TDateTimePicker non mi consente di navigare fino a febbraio?
- 11. Rails 3.1 + Daemons gem non mi consente di accedere al mio database
- 12. Perché Git rifiuta il mio tiro semplicemente perché ho un commit sul mio ramo locale?
- 13. Perché il mio UISlider non è animato?
- 14. Perché non sono disponibili dati seriali sul mio Arduino?
- 15. Perché il buffer dell'appender di log4net non è il mio?
- 16. Perché git è lento sul mio Windows?
- 17. Domanda sul mio progetto per il mio compito in C++
- 18. Perché il mio lambda non funziona?
- 19. C'è un'ombra sul mio pulsante
- 20. Perché il mio modulo NON si blocca?
- 21. Perché non posso impostare il colore dell'ombra del mio pulsante?
- 22. Perché il mio GridSplitter non funziona affatto?
- 23. Perché il mio css non viene minificato?
- 24. Perché il C++ non mi permette di usare typeof?
- 25. Perché il mio audio non si riavvolge?
- 26. Shiny non visualizza il mio ggplot come mi aspetterei
- 27. Perché LINQ-to-Entites riconosce il mio metodo personalizzato?
- 28. Perché il mio accesso dal mio cellulare alla rete del mio computer non funziona?
- 29. Come posso aggiungere il mio modulo personalizzato al blocco personalizzato nel mio modulo personalizzato
- 30. Perché il mio helper HTML personalizzato risulta codificato in html?