删除子视图后,我有一个问题UITableViewController无法重绘更新的单元格。
这是正在发生的事情。在子视图中更改数据后,父视图控制器重新加载源数据数组并通过 PostNotification运行[tableView reloadData] 。触发后,我使用popViewControllerAnimated返回父 UITableViewController(这会将子视图从堆栈中弹出,并显示控制器上一层)。
但是,我更新的数据没有出现在父视图控制器中!根据调试器,单元格的标签已经更新,但可见标签没有改变。但是,如果我滚动表格,暂时将更新的单元格移出视图,当它重新出现时,标签就会更新!
我也尝试通过viewWillAppear调用[tableView reloadData]但问题仍然存在。
以下是一些可能有用的附加信息。我有一个结构如下的 3 个视图:
1/ SettingsViewController : UITableViewController
2/ -- UserView : UITableViewController
3/ ---- UserDetailsView : UIViewController <UIActionSheetDelegate>
我从 UserView 内部调用 UserDetailsView,如下所示:
UserDetailsView *userDetailsView = [[UserDetailsView alloc] init];
[self.navigationController pushViewController:userDetailsView animated:YES];
如果我返回最顶层的控制器(SettingsViewController),然后加载有问题的控制器(UserView),一切都会正确绘制。只有从子视图返回时才会出现此问题。
预先感谢您的建议。