2010-11-23 35 views

回答

8

是....你可以通过添加自定义按钮,轻松地做到这一点...

  1. 创建自定义按钮,
  2. 设置按钮的图像
  3. 添加此按钮accessoryView的
  4. 设置方法按钮

我为您提供的代码一些帮助:

-(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); 

} 

希望这必将为ü工作....

+0

是......非常感谢你..它真的帮我:) – 2010-11-23 06:57:57

相关问题