设备轮换后iOS 11中的UITableViewCell操作被破坏
我使用标准的UITableView和UITableViewRowAction类。 在设备轮换后的iOS 11中我有奇怪的行为,这里是示例:
基本上,它打破了表格视图。 在更复杂的细胞和表格的真实应用程序中它更糟糕(重叠细胞等)我已经尝试在旋转后调用UITableView上的SetNeedsDisplay(),但没有帮助。
在iOS 10中,操作看起来略有不同,并且工作完美。
一些评论提到了这一点,但明显的赢家是取消在轮换时编辑单元格:
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id)coordinator { [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator]; [self.tableView setEditing:NO animated:NO]; }
Swift版本:
您可以重置单元格的编辑状态,以便在viewWillTransition(to:with:)
使用setEditing(_:animated:)
不再显示操作,该设置在旋转时调用。
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) { super.viewWillTransition(to: size, with: coordinator) tableView.setEditing(false, animated: true) }
这仅在您在协调器的animate
方法之外调用setEditing(_:animated:)
时才有效。 在animation
块内将编辑设置为false将不起作用。