Home / Programmazione / Objective-C / Impostare lo sfondo di una NSImage da url
Mattepuffo

Impostare lo sfondo di una NSImage da url

Impostare lo sfondo di una NSImage da url

In questi giorni di vacanza ho ripreso un pò in mano l'Objective-C.

Non per iPhone o iPad, ma per un piccolo programmino per Mac (anche se poi le cose sono abbastanza intercambiabili).

Quello che vediamo è come impostare lo sfondo di una NSImage prendendo l'immagine dal web.

Quindi, alla vostra interfaccia aggiungete un oggetto NSImage e poi collegatelo:

// AppDelegate.h

#import <Cocoa/Cocoa.h>

@interface AppDelegate : NSObject <NSApplicationDelegate> {
  IBOutlet NSImageCell *myImage;
}

@property (assign) IBOutlet NSWindow *window;

@end

Come vedete l'oggetto da linkare, per essere precisi, è NSImageCell.

Invece in Interface Builder dovete trascinare un oggetto Image Well (che poi creerà anche l'oggetto Image Cell al suo interno).

A questo punto in AppDelegate.m modificate il metodo applicationDidFinishLaunching, che viene lanciato quando l'applicazione ha finito di caricare:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
  // Insert code here to initialize your application
  NSString *str = @"http://www.sito.com/image.gif";
  NSURL *url = [NSURL URLWithString:str];
  NSImage *image = [[NSImage alloc] initWithContentsOfURL:url];
  [myImage setImage:imageToday];
}

NSImageCell ha bisogno di un oggetto NSImage, che creiamo con una immagine persa dal web.

Prima abbiamo un oggetto NSString che rappresenta l'indirizzo.

Poi un oggetto NSURL per connettersi all'URL.

Infine NSImage prende il cotenuto dall'URL tramite il metodo initWithContentsOfURL.

All'ultime riga settiamo l'immagine.