我在最新的Xcode和Swift 2.1中遇到了一个奇怪的问题.
我有一张包含照片的表格视图.
可以点击其单元格进行编辑.
编辑后,例如更改照片或文本,以及展开到tableview.细胞是空白的.
我有一张包含照片的表格视图.
可以点击其单元格进行编辑.
编辑后,例如更改照片或文本,以及展开到tableview.细胞是空白的.
我终止应用程序并再次打开应用程序.表视图显示正确.我可以在编辑的单元格中看到新照片和新文本.所以这意味着储蓄没有问题.
我使用reloadRowsAtIndexPaths刷新已编辑的单元格.下面是我的代码.
@IBAction func unwindToTableView(sender: UIStoryboardSegue) {
if let sourceViewController = sender.sourceViewController as? BexMaintain, bex = sourceViewController.bex {
if let selectedIndexPath = tableView.indexPathForSelectedRow {
bexs[selectedIndexPath.row] = bex
tableView.reloadRowsAtIndexPaths([selectedIndexPath], withRowAnimation: .None)
}}}
这里是cellForRowAtIndexPath
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cellIdentifier = "Cell"
let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as! TableViewCell
// Fetches the appropriate meal for the data source layout.
let bex = bexs[indexPath.row]
cell.name.text = bex.name
//fetch thumbnail
let thumbnailURL = bexURL.URLByAppendingPathComponent(bex.thumbnail)
cell.file.image = UIImage(data: NSData(contentsOfURL: thumbnailURL)!)
//fetch enable
if bex.enable == false {
cell.enable.setOn(false, animated: false)
}
else {
cell.enable.setOn(true, animated: false)
}
return cell
}
下面是问题的截图.
table is loaded first time
after edit scene, unwind to table view. the edited cell is blank
请帮忙建议.
最佳答案
我现在可以解决这个问题了.
我注意到,有时按钮或照片出现在单元格中,但其位置与单元格的框架重叠.
我注意到,有时按钮或照片出现在单元格中,但其位置与单元格的框架重叠.
所以我认为这可能是布局问题.
然后我尝试在与iphone肖像相关的所有尺寸类中安装我的所有对象及其在Cell中的位置.
现在问题解决了.
以前,我只在尺寸类“紧凑宽度,任何高度”上工作.
我认为是Xcode错误,在展开到表视图后,Xcode将其他大小类布局为单元格,而不是在首次加载表时使用相同大小的类.问题不仅发生在模拟器中,也发生在设备中.
在将Xcode更新到最新版本之前,我以前从未发现过这个问题.
更新 – 2016年5月10日,
我仍然认为Final Value Size Class不会覆盖Base Value size class,这很奇怪.对每个大小的类安装对象和约束是不正常的.
所以我尝试从Compact宽度常规高度以外的所有大小类中卸载对象和约束.问题又回来了.
然后我尝试从故事板中禁用大小类,在弹出窗口中询问时仅保留iphone布局,然后再次重新启用它.
现在问题已经消失.
它必须在更新后在Xcode中的某个地方出现影响模拟器和已部署设备的错误.
相关文章
转载注明原文:ios – 从编辑场景中退出后,表格视图单元格为空白.如果终止应用程序并再次打开,则表视图将正确显示 - 代码日志