如何在编辑后阻止UITableViewCell更改?

时间:2015-08-01 02:31:15

标签: ios objective-c uitableview autolayout

在下图中,我向左滑动单元格以显示操作。一旦完成动作,单元格将恢复正常...但不完全是因为右侧对齐关闭。我想知道如何纠正这种行为。

以下是视图调试器的截图,用于概述对象。 enter image description here

如您所见,左侧仍然完美对齐。但右手边的尾随约束要么被忽视(没有告诉我约束被打破),要么正在发生一些我不明白的事情。右边按钮的位置从远处到略有偏差。

我的操作是使用tableView: editActionsForRowAtIndexPath:设置的。 现在,即使没有采取任何行动并且用户选择不是动作的单元格部分,我也会得到这种情况。

我试图在动作中捕获尾随约束的值,虽然我不知道我是否正确执行此操作,因为值的结果相同。

FavoriteTableViewCell *cell = (FavoriteTableViewCell *)[self.tableView cellForRowAtIndexPath:indexPath];
NSLog(@"Trailing Constraint before: %f)",cell.dragTrailingConstant.constant);
[self.tableView setEditing:NO animated:NO];
NSLog(@"Trailing Constraint  after: %f)",cell.dragTrailingConstant.constant);

之前的追踪约束:-4.000000

追踪约束:-4.000000

尾随约束是:Superview.Trailing.Margin Equal DragButton.Trailing。常数-4。优先级1000.倍增器1。

修改

通过针对多个设备和操作系统版本的模拟器进行的大量测试,似乎:

  • 这是iOS 8.4的问题
    • 有无canDisplayBannerAds
  • 这是不是 iOS 8.1上的问题
  • 我没有安装8.2和8.3的模拟器。

0 个答案:

没有答案