Mam UITableView
, który ma trzy widoki UIImageView
na komórkę, z trzema komórkami wyświetlającymi się w tym samym czasie (łącznie dziewięć widoków: UIImageView
). Pomyśl o tym jak o półce z książkami. Czasami mogę mieć nawet 500 książek.Dodano cień do UIImageView na wydajność UITableView zabija ... dlaczego?
Dodałem cień do UIImageView
z kodem, który brzmi następująco:
UIImageView *itemImageView = [[UIImageView alloc] initWithFrame:CGRectMake(25, 7, 65, 75)];
itemImageView.contentMode = UIViewContentModeScaleAspectFit;
itemImageView.tag = 6;
itemImageView.layer.shadowColor = [UIColor blackColor].CGColor;
itemImageView.layer.shadowOffset = CGSizeMake(3, -1);
itemImageView.layer.shadowOpacity = 0.7;
itemImageView.layer.shadowRadius = 3.0;
itemImageView.clipsToBounds = NO;
[cell.contentView addSubview:itemImageView];
Kiedy dodać kod cień, jak widać powyżej, wydajność przewijania jest po prostu całkowicie zabity, a staje się niepewny. Każdy obraz ma inną wartość niż Rect
, więc cień musi zostać utworzony dla każdego przedmiotu podczas jego przewijania. Ktoś ma jakieś wskazówki, w jaki sposób dodać cienie do moich obrazów na UITableView
bez tego problemu?
Odpowiedziałem na podobne pytanie tutaj: http://stackoverflow.com/a/10133182/242769 – aryaxt