2014-10-27 12 views

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