2010-08-27 146 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

相關問題