如何从 UITableViewCell 中删除按钮?

Posted

技术标签:

【中文标题】如何从 UITableViewCell 中删除按钮?【英文标题】:How to remove a button from UITableViewCell? 【发布时间】:2011-11-11 09:37:18 【问题描述】:

我自定义了一个UITableViewCell,因为我有一个UILabelUIButton。我已经在layoutSubviews 方法中设置了框架,现在该表已经自定义了我在三个地方使用的UITableViewCell,但我需要在第二位删除UIButton。该怎么做?

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

    static NSString *CellIdentifier = @"Cell";

    CustomPopTableViewCell *cell = (CustomPopTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) 
    
        cell = [[[CustomPopTableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
    

    cell.accessoryType = UITableViewCellAccessoryNone;
    if(tableView.tag == e_metadataView)
    
        //cell.mCheakMarkButton.frame=CGRectZero;
        cell.mTaggedTerm.text = [docInfoCollection objectAtIndex:indexPath.row];
    
    else if(tableView.tag == e_searchSettingView)        
    
        if(indexPath.row == self.currentRow)
        
            [cell.mcheckMarkButton removeFromSuperView];
        
        cell.mTaggedTerm.text = [searchEngineCollection objectAtIndex:indexPath.row];
    
    else if(tableView.tag == e_TaggedTermView)//tageed term table
    
        TaggedItems *taggedItem = [documentData.taggedWords objectAtIndex : indexPath.row];
        cell.mTaggedTerm.text = taggedItem.keyword;
        if([self isTappedObjectExist:indexPath.row])
        
            cell.accessoryType = UITableViewCellAccessoryCheckmark;
        


    

    return cell;

【问题讨论】:

【参考方案1】:

我会使用:

for (UIView* v in cell.subviews) 
    if ([v isKindOfClass:[UIButton class]]) 
        [v removeFromSuperView];
    

当然,如果您在自定义单元格中具有中间级别的视图,则需要进行修改。如果您有多个按钮,我会使用标签来识别它。

【讨论】:

它是 removeFromSuperview ,"v" 很小 :)

以上是关于如何从 UITableViewCell 中删除按钮?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 UITableViewCell 中的自定义 UIButton 中删除触摸延迟

从 UITableViewCell 隐藏删除按钮

如何从自定义操作中进入删除确认状态 UITableViewCell?

UITableViewCell 删除按钮动画

如何自定义滑动 UITableViewCell 时显示的删除按钮

如何在编辑模式下确定 UITableViewCell 的删除按钮的原点 (x,y)?