Very short snippet: la UIView per visualizzare un’immagine

Lavorando con Interface Builder può venire spontaneo usare un oggetto UIImageView per impostare lo sfondo del nostro view controller. In alternativa è possibile eliminare questo oggetto, risparmiando così un po’ di memoria, e sfruttare la view associata al view controller. Basta inserire nel nostro view controller:

1
2
3
4
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"backgroundImage.jpg"]];
}

Va bene anche viewDidLoad, ma viewWillAppear: può evitare qualche sfarfallio di troppo.

Peccato non sia possibile accedere ai pattern anche da Interface Builder, almeno non nella versione Xcode 3.2.5.

4 commenti a: “ ”

  1. 21 gen, 2011 Giovambattista Fazioli:

    Nota: La tecnica del pattern ha l’unico svantaggio che l’immagine viene ripetuta orizzontalmente e verticalmente. Questo, nel caso di uno sfondo, dove la view copre l’intera area del video, non è un impedimento.
    Negli altri casi la view deve avere le stesse dimensioni dell’immagine usata come pattern.

  2. 29 lug, 2011 Silvio:

    @Giovambattista Fazioli:
    Salve, volevo chiederle, se possibile, quale metodo si potrebbe usare per evitare la ripetizione dell’immagine orizzontalmente e verticalmente. Io uso una view disegnata sulle esatte dimensioni dell’immagine, ma quando devo poi ridimensionarla nascono i problemi.
    Grazie mille anticipatamente.
    Saluti.

  3. 29 lug, 2011 Giovambattista Fazioli:

    @Silvio: che io sappia non è possibile impedire il repeat con il metodo  colorWithPatternImage. Nel caso specifico, quando le dimensioni del view cambiano, l’uso di una UIImageView diventa una scelta obbligata, e anche la più semplice da implementare e gestire.

  4. 30 lug, 2011 Silvio:

    @Giovambattista Fazioli:
    Grazie mille, lei è stato prezioso!

Lascia un commento

TAG XHTML PERMESSI: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERIMENTO CODICE:
<pre></pre> // blocco generico
                   <code></code> // blocco generico
                   [cc_actionscript][/cc_actionscript] // Actionscript
                   [cc_actionscript3][/cc_actionscript3] // Actionscript 3
                   [cc_css][/cc_css] // CSS Style Sheet
                   [cc_html][/cc_html] // HTML
                   [cc_js][/cc_js] // Javascript
                   [cc_objc][/cc_objc] // Objective-C
                   [cc_php][/cc_objc] // PHP
                   [cc_sql][/cc_sql] // SQL