transferir seguridad restaurar pasar mensajes gratis google desde cómo copia chats ios objective-c uiimage

seguridad - Cargar imagen del paquete con IOS



transferir mensajes de whatsapp de android a iphone (10)

Si eso no funciona, prueba

[UIImage imageNamed:@"yourbundlefile.bundle/imageInBundle.png"];

Mejor

Agregué a mi proyecto una carpeta .bundle llena de algunas imágenes. ¿Es correcto hacer referencia a esta imagen escribiendo directamente algo así como?

[UIImage imageNamed:@"imageInBundle.png"];

¿Cuál es el mejor método para acceder y usar estas imágenes?


Eso es correcto, imageNamed: buscará en su paquete principal. Las imágenes en su proyecto, incluso si están en diferentes grupos en su Project Navigator estarán en su paquete principal y se puede acceder directamente por su nombre.


Apple afortunadamente ha proporcionado una API adecuada para esto en iOS 8, imageNamed:inBundle:compatibleWithTraitCollection:

Se usa así:

[UIImage imageNamed:@"image-name" inBundle:[NSBundle bundleForClass:self.class] compatibleWithTraitCollection:nil]

o en rápido:

let image = UIImage(named: "image-name", inBundle: NSBundle(forClass: self), compatibleWithTraitCollection: nil)


Como tenía que resolver esto para Swift, pensé que agregaría también ...

if let imagePath = NSBundle.mainBundle().pathForImageResource("TestImage.png") { imageView.image = NSImage(contentsOfFile: imagePath) }

Donde tengo TestImage.png en el grupo de Supporting Files dentro de mi paquete.


Este método devuelve una imagen en cualquier lugar del proyecto xcode: =>

+(UIImage*)returnUIImageFromResourceBundle:(NSString*)imageName { NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"Resource" ofType:@"bundle"]; NSString *receivedImageNam = [[NSBundle bundleWithPath:bundlePath] pathForResource:imageName ofType:@"png"]; UIImage *RetrievedImg = [[UIImage alloc] initWithContentsOfFile:receivedImageNam]; return RetrievedImg; }


1) Si está trabajando con paquetes, vaya a paquete de destino y establezca COMBINE_HIDPI_IMAGES en NO. En otro caso, la imagen se convertirá a formato tiff.

2) prueba este código:

NSBundle *bundle = [NSBundle bundleWithURL:[[NSBundle mainBundle] URLForResource:@"YourBundle" withExtension:@"bundle"]]; NSString *imagePath = [bundle pathForResource:@"imageInBundle" ofType:@"png"]; UIImage *image = [UIImage imageWithContentsOfFile:imagePath];


Una forma rápida de hacerlo si va a usarlo un par de veces en el mismo control de vista:

Obtenga la imagen en cualquier lugar de la misma clase que el siguiente método:

// this fetches the image from: MyBundle.bundle/folder/to/images/myImage.png UIImage *myImage = [self imageFromBundle:@"MyBundle" withPath:@"folder/to/images/myImage.png"];

Método que recupera la imagen:

- (UIImage *)imageFromBundle:(NSString *)bundleName withPath:(NSString *)imageName { NSURL *bundleURL = [[NSBundle mainBundle] URLForResource:bundleName withExtension:@"bundle"]; NSBundle *bundle = [NSBundle bundleWithURL:bundleURL]; NSString *imagePath = [bundle pathForResource:imageName ofType:nil]; UIImage *image = [UIImage imageWithContentsOfFile:imagePath]; return image; }

O simplemente llámalo directamente del paquete:

UIImage *myImage = [UIImage imageNamed:@"MyBundle.bundle/folder/to/images/myImage.png"];


Para Swift 3

let prettyImage = UIImage(named: "prettyImage", in: Bundle(for: self), compatibleWith: nil)


Swift 3

let myImage = UIImage(named: "nameOfImage", in: Bundle(for: type(of: self)), compatibleWith: nil)

No puedo obtener el paquete actual, así que hago esto:

Bundle(for: type(of: self))


Versión Swift

La respuesta de @ AndrewMackenzie no me funcionó. Esto es lo que funcionó

let image = UIImage(named: "imageInBundle.png") imageView.image = image

Mi respuesta completa está aquí .