2017-02-09 75 views
0

我有两种类型的UITableViewCell在彼此之上。第一个是UITableViewCellAccessoryDisclosureIndicator而下面是UITableViewCellAccessoryNone不同的UITableViewCell类型对齐

if(someCondition) 
{ 
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
} 
else 
{    
    cell.accessoryType = UITableViewCellAccessoryNone; 
    // this didn't work 
    // cell.layoutMargins = UIEdgeInsetsMake(0.0, 0, 0.0, 10.0); 
} 

我试图做的是底部细胞的两个标签向左移动,使右边缘两个细胞变得一致。我试图通过将layoutMargins添加到底部单元来完成此操作,但它不起作用。任何想法如何做到这一点?

回答

1

将底部单元的accessoryView设置为具有所需宽度的空白视图。

if(someCondition) 
{ 
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
    cell.accessoryView = nil; 
} 
else 
{    
    cell.accessoryType = UITableViewCellAccessoryNone; 
    // Adjust the width value as needed 
    cell.accessoryView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 25, 5)]; 
} 
+0

谢谢,这正是我所寻找的。顺便说一句,'cell.accessoryView = nil;'有什么用? – Yar

+1

单元格被重用。您必须始终为每个条件设置每个属性。 – rmaddy