2010-11-23 36 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

相關問題