仅在iOS 9.1上重新加载RowsatindExpath的行为已确认回归?

仅在iOS 9.1上重新加载RowsatindExpath的行为已确认回归?,ios,uitableview,xcode-storyboard,ios9.1,Ios,Uitableview,Xcode Storyboard,Ios9.1,我有一个支持iOS 7.1及更高版本的应用程序。当用户选择单元格并在局部视图上更改字段时,tableView行将重新加载,以反映返回时的更改。此单元格的情节提要中有几个自动布局约束。该单元格仅包含9个UILabel,但非默认字体的点大小不同 验证行更新在运行iOS 7.1.2、8.4.1和9.0.2的设备上是否正常工作。此外,我还测试了它在8.1、8.2和8.3的模拟器中的工作情况。但如果在9.1上失败,用户会在iOS更新发布后报告。它对设备和模拟器都失败 失败是整个单元的情节提要自动布局约束丢

我有一个支持iOS 7.1及更高版本的应用程序。当用户选择单元格并在局部视图上更改字段时,tableView行将重新加载,以反映返回时的更改。此单元格的情节提要中有几个自动布局约束。该单元格仅包含9个UILabel,但非默认字体的点大小不同

验证行更新在运行iOS 7.1.2、8.4.1和9.0.2的设备上是否正常工作。此外,我还测试了它在8.1、8.2和8.3的模拟器中的工作情况。但如果在9.1上失败,用户会在iOS更新发布后报告。它对设备和模拟器都失败

失败是整个单元的情节提要自动布局约束丢失。在仅为更新的行调用reloadRowsAtIndexPaths后,所有单元格标签将在混乱中相互覆盖。一个单元格的问题一直存在,直到再次从核心数据重新加载整个表(拉入刷新)。此时,它将具有用户所做的更新值

为了解决这个问题,我对电话做了以下处理:

// work around cell layout bug introduced with iOS 9.1
  if (SYSTEM_VERSION_LESS_THAN(@"9.0.3"))
      [self.tableView reloadRowsAtIndexPaths:@[selectedRowIndexPath] withRowAnimation:UITableViewRowAnimationNone];
这只是一个版本检查宏。在用户从细节视图导航回来并更改其值后,在tableView的ViewWillDisplay中调用此代码。这种解决方法避免了问题

为了确保我们可以在丢失值之前重新加载,ViewWillAppeal的开头也始终有以下几行:

// we need to save this before the super clears it
NSIndexPath *selectedRowIndexPath = [self.tableView indexPathForSelectedRow];
[super viewWillAppear: animated];
该应用程序使用Xcode 7.1构建,使用故事板和大小类。问题仍然存在于Xcode 7.1.1中。用途在UITableViewController中


只有我或其他人看到了这种行为上的变化?

我只能找到似乎与此相关的问题此缺陷仍存在于9.2更新中我只能找到似乎与此相关的问题此缺陷仍存在于9.2更新中