nsurl

Mattepuffo's logo
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).

Mattepuffo's logo
Usare le UIWebView in iPhone e iPad

Usare le UIWebView in iPhone e iPad

Apriamo una nuova sezione dedicata al linguaggio nativo per i sistemi Apple: Objective-C.

Nello specifico vedremo come caricare una UIWbeView, componente che ci permette di visualizzare le pagine web su iPhone e iPad.

La guida si riferisce infatti ad entrambi i dispositivi.

Nel vostro progetto aggiungete un componente UIWebView e "collegatelo" a InterfaceBuilder.

Ad esempio questo è il mio FirstViewController.h:

#import <UIKit/UIKit.h>

@interface FirstViewController : UIViewController {
     IBOutlet UIWebView *wvCollection;
}

@property (nonatomic, retain) IBOutlet UIWebView *wv_collection;

@end

Adesso nell'implementazione andremo a usare due metodi:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    [wvCollection loadRequest:[LoadUrl load:@"http://www.compagniaitaliana.it/beta/app/collection.php"]];
}

 

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [wvCollection loadRequest:[LoadUrl load:@"http://www.compagniaitaliana.it/beta/app/collection.php"]];
}

Il primo metodo viene caricato solo la prima volta che si accede al controller.

Se poi cambiamo view e ci ritorniamo vediamo che è rimasto come lo avevamo lasciato.

Se vogliamo che si ricarichi ogni volta dobbiamo implementare anche il secondo metodo.