Как удалить кнопку из UITableViewCell? - PullRequest
1 голос
/ 11 ноября 2011

Я настроил UITableViewCell в том смысле, что у меня есть UILabel и UIButton.Я установил фрейм в методе 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 Ответ

3 голосов
/ 11 ноября 2011

Я бы использовал:

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

Подлежит изменению, если у вас, конечно, есть промежуточный уровень просмотра в вашей пользовательской ячейке. Если у вас есть несколько кнопок, я бы использовал тег для их идентификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...