我有一个 TableView,每个单元格的附件都设置为“披露指示器”,它工作正常。
然后,我决定在使用外部来源的数据更新每个单元格时添加一个事件指示器。为此,我设置了:
cell.accessoryView = UIActivityIndicatorView(activityIndicatorStyle: .Gray)
当我完成从外部来源加载数据后,我丢失了“披露指示符”(单元格右侧的箭头)。我应该将“cell.accessoryView”恢复到什么位置?
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let item = items[indexPath.row]
var cell = self.tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! UITableViewCell
// SET ACTIVITY INDICATOR HERE
if cell.accessoryView == nil {
let indicator = UIActivityIndicatorView(activityIndicatorStyle: .Gray)
cell.accessoryView = indicator
}
let indicator = cell.accessoryView as! UIActivityIndicatorView
// ... some code here ...
switch (item.state) {
case .New:
indicator.startAnimating()
self.fetchExternalData(item, indexPath:indexPath)
case .Downloaded:
indicator.stopAnimating()
// I'D LIKE TO RESTORE THE DISCLOSURE INDICATOR HERE
cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator
// cell.accessoryView = ???
}
return cell
}
最佳答案
哎呀,我只是尝试设置“cell.accessoryView = nil”并且它有效..我应该在发布之前想到这一点:-(
关于ios - 将 "activity indicator"添加到TableView并在Swift中恢复为 "disclosure indicator",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32422929/