2010-02-16 13 views
5

Sto cercando di creare una vista a griglia utilizzando UITableView (le mie domande precedenti mi hanno indirizzato in questa direzione) e sto attualmente impostando le viste per i singoli elementi. Avendo creato un UITableViewCell personalizzato che visualizza 3 elementi per riga, ho deciso di estrarre questi elementi in una sottoclasse di UIView chiamata ItemView.Sfondo UIView Colore

Questo ItemView verrà quindi aggiunto come subview all'usuale UITableViewCell per visualizzare la griglia. Comunque, sono riuscito a creare la vista e posso farlo visualizzare una multa UILabel, tuttavia ho problemi a cambiare ItemView per essere trasparente a parte le UIViews (etichette, pulsanti, immagini ecc.) Al suo interno. Ecco il mio codice per UIView:

#import <UIKit/UIKit.h> 
@interface ItemView : UIView { 
} 
@end 

#import "ItemView.h" 
@implementation ItemView 

- (id)initWithFrame:(CGRect)frame { 
    if ((self = [super initWithFrame:frame])) { 
    } 
    return self; 
} 

- (void)drawRect:(CGRect)rect { 
    [self setBackgroundColor:[UIColor lightGrayColor]]; 
} 

- (void)dealloc { 
    [super dealloc]; 
} 
@end 

Dove devo impostare il colore di sfondo affinché funzioni correttamente?

Acclamazioni

+0

Hi Jack, Potete postare qui la soluzione? – Piyush

risposta

11

Prova:

self.backgroundColor = [UIColor clearColor]; 

non vedo alcun motivo per non avere che nel metodo init. Non penso che tu voglia ignorare drawRect: in questo caso dovrai disegnare tu stesso l'intera vista.

+1

Avevo provato questo, ma dopo aver esaminato il resto del mio codice, ho trovato un sacco di cose che stavano facendo casino. Finalmente ha funzionato. Grazie per la risposta. – Jack