2010-02-16 10 views
5

Próbuję utworzyć widok siatki przy użyciu UITableView (moje starsze pytania wskazały mi w tym kierunku) i jestem obecnie ustawienie widoków dla poszczególnych elementów. Po utworzeniu niestandardowego obiektu UITableViewCell, który wyświetla 3 elementy w wierszu, postanowiłem przenieść te elementy do podklasy UIView zwanej ItemView.UIView tło Kolor

Ta pozycja zostanie następnie dodana jako podgląd do niestandardowego UITableViewCell, aby wyświetlić siatkę. W każdym razie, udało mi się utworzyć widok i mogę go wyświetlić, aby wyświetlić UILabel grzywny, ale mam problem ze zmianą ItemView, aby były przezroczyste oprócz UIViews (Etykiety, przyciski, obrazy itp.) W nim. Oto mój kod do 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 

Gdzie powinienem ustawić kolor tła, aby działał poprawnie?

Cheers

+0

Witam Jacka, Czy możesz przesłać tutaj rozwiązanie? – Piyush

Odpowiedz

11

Spróbuj:

self.backgroundColor = [UIColor clearColor]; 

Nie widzę żadnego powodu, aby nie mieć, że w metodzie startowej. Nie sądzę, że chcesz przesłonić drawRect: w tym przypadku musisz sam narysować cały widok.

+1

Próbowałem tego, jednak po przejrzeniu reszty mojego kodu, znalazłem ładunek rzeczy, które zepsuły to. W końcu działa. Dzięki za odpowiedzi. – Jack