2013-01-03 83 views
1

對於TableView中的每個單元格,我基本上都有一個布爾變量,用於存儲數據是否爲該單元格加載。所以點擊單元格會導致附件類型更改爲UIActivityIndi​​cator。該TableView中加載罰款,但是當我突然回的TableView一個或兩個細胞的隨機不具備默認DisclosureIndicator ......它沒有任何UITableViewAccessoryType隨機不顯示

我使用的代碼裏面cellForRowAtIndexPath

NSLog([entry isLoading] ? @"Yes" : @"No"); 
if ([entry isLoading]) { 
    UIActivityIndicatorView *activityView = 
    [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; 
    [activityView startAnimating]; 
    [cell setAccessoryView:activityView]; 
} 
else{ 
    [cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator]; 
} 

我已經通過了代碼,沒有顯示DisclosureIndicator的單元格仍在運行將其設置爲AccessoryDisclosureIndicator的代碼...我不確定發生了什麼,因爲缺少指示符的單元格正在觸發else語句導致setAccessoryType

謝謝!

回答

1

試試這個,

if ([entry isLoading]) { 
    UIActivityIndicatorView *activityView = 
    [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; 
    [activityView startAnimating]; 
    [cell setAccessoryView:activityView]; 
    [cell setAccessoryType:UITableViewCellAccessoryNone]; 
} 
else{ 
    [cell setAccessoryView:nil]; 
    [cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator]; 
} 

documentation

accessoryView的
如果此屬性的值不爲零,則UITableViewCell類, 使用給定觀點的附件查看錶格視圖的正常 (默認)狀態;它會忽略accessoryType屬性的值。 提供的附件視圖可以是框架提供的控件或標籤或自定義視圖。附件視圖出現在單元格的右側 中。

所以你需要設置accessoryView爲零顯示accessoryType否則就會忽略它。

+1

你搖滾!這工作。哈哈非常感謝ACB! – Alan