2010-08-27 140 views
0

我想隐藏表格单元格中特定条件下的自定义按钮。如何隐藏表格单元格中的自定义按钮

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if(isDisplayMapbutton==YES) 
    {       
     UIView* buttonView1 = [[UIView alloc] init]; 
     mapBtn= [[MyCustomButton alloc] initWithIndexPath:indexPath]; 
     CGRect imageFrame1 = CGRectMake(0,2.0,30,30); 
     [buttonView1 setFrame: CGRectMake(230,3.0,30,30) ]; 
     [mapBtn setFrame:imageFrame1]; 
     [mapBtn setBackgroundImage: [UIImage imageNamed:@"Map.png"] forState:UIControlStateNormal]; 
     [mapBtn addTarget:self action:@selector(DisplayMap:)forControlEvents:UIControlEventTouchUpInside]; 

     [buttonView1 addSubview:mapBtn]; 
     [cell.contentView addSubview:buttonView1]; 
     [buttonView1 release]; 

     [mapBtn release]; 
    } 
    else   
    { 

    } 
    return cell; 
} 

-(void)toggleMove 
    { 
    if(isMove==YES) 
    { 
     isDisplayMapbutton =NO; 

     isMove=NO; 
     //mapBtn.hidden=YES; 
     [self getToolbar]; 
    } 
    else 
    { 
     isDisplayMapbutton =YES; 
    isMove=YES; 
    //mapBtn.hidden=NO; 

     [self getToolbar]; 
    } 
    [tableView reloadData]; 
    [self.tableView setEditing:!self.tableView.editing animated:YES]; 
} 

如果使用上述方法,[self.tableView setEditing:self.tableView.editing动画:YES]; 单元格将被压缩。那么映射btn正在移动到单元格的末尾。如何当我们调用上面的方法

回答

1

右键你释放mapBtn后,做这样的事情

mapBtn = (MyCustomButton *) [cell.contentView viewWithTag: 1]; 

,并把这个mapBtn方法后隐藏该地图
按钮调用

mapBtn.tag = 1; 
+0

很好的答案,但你应该解释标签是什么以及你如何使用它。 – gcamp 2010-08-27 13:53:06

+0

标签是将这个子视图与其他视图区分开来。这是显而易见地告诉另一个人的简单方法。 – 2010-08-29 01:44:35

相关问题