嵌入在容器视图中的 Tableview 在方向改变时重置数据
Tableview embedded in a container view resets data when orientation is changed
我有一个 Tableview 嵌入在 containerview 中。 table 视图在加载时有一个部分,用户可以将单元格标记为已完成,这会将它们移动到已完成的部分。我的问题是,在我将一个单元格移动到完成的部分后,如果我改变方向,单元格会回到其原始位置并且完成的部分为空。它会更改方向并调整单元格内所有标签和图像的大小 though.How 我可以让 table 视图更改两个部分中数据的方向吗?
这就是我加载嵌入式 tableviewcontroller,
的方式
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
if([segue.identifier isEqualToString:@"embedPickListSegue"]) {
TasksTableViewController *viewController = segue.destinationViewController;
//this array is used to create the tableview
viewController.tasks = self.tasks;
}
然后在 TasksTableViewController 中,当用户选择完成时,
[self.tasks removeObject:task];
NSIndexPath *removeIndexPath = [NSIndexPath indexPathForRow:indexPath.row inSection:0];
[self.complete insertObject:task atIndex:0];
NSIndexPath *insertIndexPath = [NSIndexPath indexPathForRow:0 inSection:1];
[self.tableView beginUpdates];
[self.tableView deleteRowsAtIndexPaths:@[removeIndexPath] withRowAnimation:UITableViewRowAnimationFade];
[self.tableView insertRowsAtIndexPaths:@[insertIndexPath] withRowAnimation:UITableViewRowAnimationFade];
[self.tableView endUpdates];
我想通了这个问题。我将全局数组用于可用和已完成的任务以从中加载 table 并解决了问题。我使用的两个阵列都在方向改变时重新初始化。
我有一个 Tableview 嵌入在 containerview 中。 table 视图在加载时有一个部分,用户可以将单元格标记为已完成,这会将它们移动到已完成的部分。我的问题是,在我将一个单元格移动到完成的部分后,如果我改变方向,单元格会回到其原始位置并且完成的部分为空。它会更改方向并调整单元格内所有标签和图像的大小 though.How 我可以让 table 视图更改两个部分中数据的方向吗? 这就是我加载嵌入式 tableviewcontroller,
的方式- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
if([segue.identifier isEqualToString:@"embedPickListSegue"]) {
TasksTableViewController *viewController = segue.destinationViewController;
//this array is used to create the tableview
viewController.tasks = self.tasks;
}
然后在 TasksTableViewController 中,当用户选择完成时,
[self.tasks removeObject:task];
NSIndexPath *removeIndexPath = [NSIndexPath indexPathForRow:indexPath.row inSection:0];
[self.complete insertObject:task atIndex:0];
NSIndexPath *insertIndexPath = [NSIndexPath indexPathForRow:0 inSection:1];
[self.tableView beginUpdates];
[self.tableView deleteRowsAtIndexPaths:@[removeIndexPath] withRowAnimation:UITableViewRowAnimationFade];
[self.tableView insertRowsAtIndexPaths:@[insertIndexPath] withRowAnimation:UITableViewRowAnimationFade];
[self.tableView endUpdates];
我想通了这个问题。我将全局数组用于可用和已完成的任务以从中加载 table 并解决了问题。我使用的两个阵列都在方向改变时重新初始化。