2010-11-23 13 views

Répondre

8

oui .... vous pouvez le faire facilement en ajoutant un bouton personnalisé ...

  1. Créer le bouton Personnaliser,
  2. Réglage de l'image du bouton Ajouter
  3. ce bouton pour accessoryView
  4. Définissez la méthode pour le bouton

Je vous fournirai un peu d'aide avec le code:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

    static NSString *CellIdentifier = @"Cell"; 
    cell =(Custom *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    if (cell == nil) { 
     cell = [[[Custom alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; 
     [cell setBackgroundColor:[UIColor clearColor]]; 
     menuTable.separatorColor =[UIColor clearColor]; 

    } 
    UIImage *image = [UIImage imageNamed:@"ButtonClickOrder.png"]; 

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
    CGRect frame = CGRectMake(0.0, 0.0, image.size.width, image.size.height); 
    button.frame = frame; // match the button's size with the image size 

    //[button setBackgroundImage:image forState:UIControlStateNormal]; 
    [button setImage:image forState:UIControlStateNormal]; 
    // set the button's target to this table view controller so we can interpret touch events and map that to a NSIndexSet 
    [button addTarget:self action:@selector(checkButtonTapped:event:) forControlEvents:UIControlEventTouchUpInside]; 
    button.backgroundColor = [UIColor clearColor]; 
    cell.accessoryView = button; 

     return cell; 
} 

//These are the methods which are called with the AccessoryView is Clicked 

- (void)checkButtonTapped:(id)sender event:(id)event 
{ 

    NSSet *touches = [event allTouches]; 
    UITouch *touch = [touches anyObject]; 
    CGPoint currentTouchPosition = [touch locationInView:menuTable]; 
    NSIndexPath *indexPath = [menuTable indexPathForRowAtPoint: currentTouchPosition]; 
    NSLog(@"Section:%d",indexPath.section); 
    NSLog(@"Index:%d",indexPath.row); 
    if (indexPath != nil) 
    { 
     [ self tableView: menuTable accessoryButtonTappedForRowWithIndexPath: indexPath]; 

    } 

} 

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath 
{ 

     NSLog(@"%d",indexPath.section); 

} 

Espérons que cela va sûrement travailler pour u ....

+0

oui ... merci beaucoup .. il est vraiment me aider :) –

+0

hmmm ..... Je peux comprendre même je faisais face à la même problème.. –