1

Die Fragen selbst sagen nicht viel, aber was ich versuche zu sagen ist: Wie kann man den Inhalt der Zelle verschieben (sagen wir UILabel), so dass das Label auf dem Bildschirm zu sehen ist, während die Sammlung angezeigt wird In der Zelle der CollectionView ist nicht mehr genügend Speicherplatz verfügbar.Wie wird der Inhalt der Zelle beim Scrollen auf dem Bildschirm angezeigt, bis der verfügbare Speicherplatz der Zelle erschöpft ist?

Aber ein Bild sagt mehr als tausend Worte:

ich so etwas wie dieses haben, ein UICollectionViewCell mit horizontalen Bildlauf. simulator capture

Normalerweise, wenn ich scrollen das ist, was es geschehen wird: simulator capture

Aber erreichen, was ich möchte, ist, die Namen in den Zellen Premieren nach rechts zu bewegen, während es Platz in verfügbar die Zelle, ohne dass zu vergessen, wenn kein Platz mehr vorhanden ist wird es beginnen, den Schwanz abzuschneiden, wie: Keaton Pickett ->Keaton Pick... ->Keaton... -> etc,

ich habe Inhalt der Zelle gedacht in einem UIScrollView über Verschachtelung und scrollen Sie dann nach Code, wenn der c ollectionView scrollt.

Ich dachte auch, die sich wandelnde CGRect Eigenschaft des Inhalts der Zelle (in diesem Fall die UILabel), während die Ansicht scrollen (Spiel mit den width und minX Eigenschaften.

jedoch festzustellen, wenn die in diesem Fall , UILabel beginnen aus dem Bildschirm (wie Kea in der ersten Zelle des zweiten Bildes) zu sein dreht ein Kampf zu sein.

in meinem realen Fall habe ich das UICollectionView (horizontal scrollen) in UITableView verschachtelt (vertikale Bildlaufleiste).

Ich werde danken und schätzen Ihre Hilfe in dieser misslichen Lage. Mit freundlichen Grüßen!

Antwort

0

Ich ziehe Sie den Code

Objective C verwenden

- (void)checkVisibilityOfCell:(MyCustomUITableViewCell *)cell inScrollView:(UIScrollView *)aScrollView { 
     CGRect cellRect = [aScrollView convertRect:cell.frame toView:aScrollView.superview]; 

     if (CGRectContainsRect(aScrollView.frame, cellRect)) 
      [cell notifyCompletelyVisible]; 
      [cells objectAtIndex:i].hidden= YES; // MAKE THE CELL VISIBLE 
     else 
      [cell notifyNotCompletelyVisible]; 
      [cells objectAtIndex:i].hidden= NO; // MAKE THE CELL UNVISIBLE 
    } 

    - (void)scrollViewDidScroll:(UIScrollView *)aScrollView { 
     NSArray* cells = myTableView.visibleCells; 

     NSUInteger cellCount = [cells count]; 
     if (cellCount == 0) 
      return; 

     // Loop through All cells 
     for (NSUInteger i = 1; i < cellCount - 1; i++) 
      [[cells objectAtIndex:i] notifyCompletelyVisible]; 

    } 
Verwandte Themen