我已定制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;
}
答案 0 :(得分:3)
我会用:
for (UIView* v in cell.subviews) {
if ([v isKindOfClass:[UIButton class]]) {
[v removeFromSuperView];
}
}
如果您在自定义单元格中具有中间级别的视图,则需要进行修改。如果您有几个按钮,我会使用标签来识别它。