0

Ich bin neu bei objective-cIch arbeite an der Sammlungsansicht. In meiner Sammlungsansicht habe ich eine Liste mit Daten in meinem Array.Wenn ich die Daten von meinem Array in die Sammlungszelle lade, ist das nicht der Fall Wie in der Array-Reihenfolge angezeigt. Der Zellenwert ändert sich beim Scrollen kontinuierlich.Stoppt das Neuladen in der Sammlungsansicht

Hier ist mein Code.

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{ 
return myObject.count; 
} 

- (UIView *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ 
CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"CELL" forIndexPath:indexPath]; 
if([statusfield isEqualToString:@"13"]) 
{ 
    [cell.mySegmentedControl setTitle:@"SEND TO ADMIN" forSegmentAtIndex:0]; 
    [cell.mySegmentedControl setTitle:@"EVALUATE" forSegmentAtIndex:1]; 
} 
else if([statusfield isEqualToString:@"5"]) 
{ 
    [cell.mySegmentedControl setEnabled:NO forSegmentAtIndex:0]; 
    [cell.mySegmentedControl setEnabled:NO forSegmentAtIndex:1]; 
} 

else if([statusfield isEqualToString: @"1"]) 
{ 
    [cell.mySegmentedControl setTitle:@"ACCEPT" forSegmentAtIndex:0]; 
    [cell.mySegmentedControl setTitle:@"REJECT" forSegmentAtIndex:1]; 
} 
else if([statusfield isEqualToString:@"3"]) 
{ 
    [cell.mySegmentedControl setTitle:@"VIEW" forSegmentAtIndex:0]; 
    [cell.mySegmentedControl setSelectedSegmentIndex:UISegmentedControlNoSegment]; 
} 
return cell; 
} 

Der segmentierte Steuerwert wird auf der array.When Aktualisierung, basierend blättere ich die Sammlung um die Reihenfolge der ist changing.Any Hilfe geschätzt werden können.

+0

es wird geschehen, weil der Wiederverwendbarkeit der Zelle. Sie können es mithilfe der Model-Klasse verwalten. – aafat

+0

können Sie ein Beispiel oder Beispielprogramm für mein Szenario geben ... –

Antwort

1

Überprüfen Sie den folgenden Code. Es kann Ihnen helfen,

for (UIImageView *imgView in cell.subviews) { 
    if ([imgView isKindOfClass:[UIImageView class]]) { 
     [imgView removeFromSuperview]; 
    } 
} 

Danach fügen Sie Ihre Ansicht

UIImageView *segmentImageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 5, cell.frame.size.width - 10, cell.frame.size.height - 10)]; 
segmentImageView.image = [segmentControlArray objectAtIndex:indexPath.row]; 
segmentImageView.contentMode = UIViewContentModeScaleAspectFit; 
[cell addSubview:segmentImageView]; 
+0

Es wird für die segmentierte Kontrolle funktionieren? –

+0

yes.it wird funktionieren. –

Verwandte Themen