2010-07-02 4 views
0

J'essaie de modifier l'indentation d'un contenu personnalisé UITableViewCell (à savoir, une image, un bouton et une étiquette) lors de la modification d'UITableView.iPhone - Modifier la ligne d'indentation pour une cellule lors de l'édition

J'ai essayé de changer comme ça

[cellToCustomize setIndentationLevel:1]; 
[cellToCustomize setIndentationWidth:20]; 

largeur et niveau de retrait de la cellule et il m'a fallu nulle part.

J'ai également mis en œuvre le

-(NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath 
fonction

.

Encore une fois, rien.

Je veux augmenter le niveau d'indentation, disons ... au double.

Quelqu'un sait comment le faire?

Merci!

+0

Avez-vous déjà trouvé une solution? J'ai posé une question similaire [ici] (http://stackoverflow.com/questions/5713192/how-can-i-change-the-amount-of-indentation-on-my-custom-uitableviewcell-while-edi) . –

Répondre

0

Avez-vous rechargé la cellule? Voir les méthodes suivantes dans la documentation UITableView:

- (void)reloadData 
- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation 
+0

Iup, j'ai rechargé tout ce qu'il y a à recharger ... – camilo

1

je problème avoir avec indentation pour ne pas montrer le mode d'édition, mais je compris, que je l'ai ajouté à subviews cellule, au lieu de cell.contentView - tous les composants doivent être ajoutés en tant que sous-vue de cell.contentView.

0
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    arraylist = [[NSMutableArray alloc]init]; 
    array5 = [[NSMutableArray alloc]init]; 
    array1 = [[NSMutableArray alloc]init]; 
    objects = @[@"Medical Services In Chicago",@"Medical Services On Campus"]; 
    arrObjectValueChicago = @[@"Ronald McDonald® Children's Hospital of Loyola",@"Burn Centers",@"Gottlieb Hospitals"]; 
    array3 = [[NSMutableArray alloc]init ]; 
    for(int i = 0; i<[arrObjectValueChicago count];i++){ 
      dictList3 = [[NSDictionary alloc]initWithObjectsAndKeys:@"2",@"level",[arrObjectValueChicago objectAtIndex:i],@"name", nil]; 
     [array3 addObject:dictList3]; 
    } 





    NSDictionary *dictList2 = [[NSDictionary alloc]initWithObjectsAndKeys:@"Hospitals",@"name",@"1",@"level",array3,@"Objects",nil]; 

     NSMutableArray *array2 = [[NSMutableArray alloc]initWithObjects:dictList2, nil]; 
    for (int i =0; i<[objects count]; i++) { 
     dictionary =[[NSDictionary alloc]initWithObjectsAndKeys:[objects objectAtIndex:i],@"name",@"0",@"level",array2,@"Objects", nil]; 
      [array1 addObject:dictionary]; 

    } 


// arrObjectValueCampus = @[@"Cardinal Bernardin Cancer Center1",@"Center for Heart & Vascular Medicine2"]; 
// level = @[@"0",@"1",@"2",@"3"]; 

//  NSDictionary *dictList2 = [[NSDictionary alloc]initWithObjectsAndKeys:@"Hospitals",@"name",@"1",@"level",dictList3,@"Objects",nil]; 
// NSDictionary *dictList1 = [[NSDictionary alloc]initWithObjectsAndKeys:@"0",@"level",@"Medical Services In Chicago",@"name",dictList2,@"Objects",nil]; 
    dictList = [[NSDictionary alloc]initWithObjectsAndKeys:array1,@"Objects", nil]; 

    NSLog(@"Dictionary :: %@",dictList); 
    // [arraylist addObject:[dictList valueForKey:@"Objects"]]; 
    arrayOriginal = [dictList valueForKey:@"Objects"]; 
    [arraylist addObjectsFromArray:arrayOriginal]; 
     } 


- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 
#pragma mark - TableView 
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    return 1; 
} 
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return [arraylist count]; 
} 
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] ; 
    } 
    cell.textLabel.text = [[arraylist objectAtIndex:indexPath.row]valueForKey:@"name"]; 
    NSLog(@"Label :: %@",cell.textLabel.text); 
    [cell setIndentationLevel:[[[arraylist objectAtIndex:indexPath.row] valueForKey:@"level"] intValue]]; 

      return cell; 


} 


-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    NSDictionary *d = [arraylist objectAtIndex:indexPath.row]; 
    if ([d valueForKey:@"Objects"]) { 
     NSArray *ar = [d valueForKey:@"Objects"]; 
     BOOL isAlreadyInserted = NO; 
     for(NSDictionary *dInner in ar){ 
      NSInteger index=[arraylist indexOfObjectIdenticalTo:dInner]; 
      isAlreadyInserted=(index>0 && index!=NSIntegerMax); 
      if(isAlreadyInserted) break; 
     } 
     if(isAlreadyInserted) { 
      [self miniMizeThisRows:ar]; 
     } else { 
      NSUInteger count=indexPath.row+1; 
      NSMutableArray *arCells=[NSMutableArray array]; 
      for(NSDictionary *dInner in ar) { 
       [arCells addObject:[NSIndexPath indexPathForRow:count inSection:0]]; 
       [arraylist insertObject:dInner atIndex:count++]; 
      } 
      [tableView insertRowsAtIndexPaths:arCells withRowAnimation:UITableViewRowAnimationBottom]; 
     } 

    } 

} 
#pragma mark - TableAnimation 
-(void)miniMizeThisRows:(NSArray*)ar 
{ 
    for(NSDictionary *dInner in ar) { 
     NSUInteger indexToRemove=[arraylist indexOfObjectIdenticalTo:dInner]; 
     NSArray *arInner=[dInner valueForKey:@"Objects"]; 
     if(arInner && [arInner count]>0){ 
      [self miniMizeThisRows:arInner]; 
     } 

     if([arraylist indexOfObjectIdenticalTo:dInner]!=NSNotFound) { 
      [arraylist removeObjectIdenticalTo:dInner]; 
      [tblist deleteRowsAtIndexPaths:[NSArray arrayWithObject: 
                [NSIndexPath indexPathForRow:indexToRemove inSection:0]] 
            withRowAnimation:UITableViewRowAnimationBottom]; 
     } 
    } 

} 
@end 
Questions connexes