0

Sir, ich bin ein Anfänger. Ich kann das nicht verstehen. Ich bin mit dem Lag konfrontiert, während ich die CollectionView scrolle. Ich entferne den Cell-Shadow, dann ist das Zurückbleiben weg. aber ich möchte Schatten hinzufügen. mein cellforItem code ist:CollectionView Verzögerung beim Scrollen

- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath 
    { 
     NSString *cellIdentifier = @"cellCollection"; 
     [self.MainCollectionView registerClass:[CVC_ImageWithLabel class] forCellWithReuseIdentifier:cellIdentifier]; 
     CVC_ImageWithLabel *customCell = (CVC_ImageWithLabel *)[self.MainCollectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath]; 

     //cell text 
     customCell.NameLabel.text = [data_Array objectAtIndex:indexPath.row]; 
     //cell image 
     customCell.CellImage.image=[UIImage imageNamed:[image_Array objectAtIndex:indexPath.row]]; 
     customCell.CellImage.contentMode = UIViewContentModeScaleAspectFit; 

     return customCell; 
    } 

Können Sie mir helfen, mein Herr? Ich habe versucht, unter den Code hinzuzufügen, aber es ist nicht gelungen.

customCell.layer.shouldRasterize = YES; 
customCell.layer.rasterizationScale = [UIScreen mainScreen].scale; 
+0

fügen Sie mehr Code in cellForItem hinzu – karthikeyan

+0

vollständiger Code hinzugefügt Sir. –

+0

diese Ansicht hinzufügenDidLoad [self.MainCollectionView registerClass: [CVC_ImageWithLabel-Klasse] forCellWithRuseIdentifier: @ "cellCollection"]; – karthikeyan

Antwort

1

Sie sollten Setup eine weitere Eigenschaft der Schicht - shadowPath:

self.layer.shadowRadius = 5; 
self.layer.shadowOpacity = 0.5; 
self.layer.shadowOffset = CGSizeMake(0, 1); 
self.layer.shadowColor = [UIColor blackColor].CGColor; 
self.layer.shadowPath = [UIBezierPath bezierPathWithRoundedRect: self.bounds cornerRadius: self.layer.shadowRadius].CGPath; 

Dieser Pfad definiert den Umriss verwendet, um die Schicht Schatten zu bauen, anstatt die Ebene des zusammengesetzten Alpha-Kanal zu verwenden. Wenn Sie explizit den Pfad angeben, der diese Eigenschaft verwendet, wird die Renderleistung normalerweise verbessert.

+0

JA es verbessert sich ein bisschen. Vielen Dank. –

0

Fügen Sie Schatten als Bilder hinzu, es ist viel besser für die Leistung. Sie können das Bild-Slicing zur Skalierung von Bildern verwenden.

+0

können Sie etwas Code teilen? –

Verwandte Themen