2017-02-09 105 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