15
什么是NSLayoutConstraint“ UIView-Encapsulated-Layout-Height”,我应该如何强制其重新进行干净的计算?
我UITableView在iOS 8下运行,并且正在使用情节提要中的自动单元高度。 我的一个单元格包含一个UITextView,我需要它根据用户输入进行收缩和扩展-点击以收缩/扩展文本。 我通过向文本视图添加运行时约束并响应用户事件来更改约束的常量来做到这一点: -(void)collapse:(BOOL)collapse; { _collapsed = collapse; if(collapse) [_collapsedtextHeightConstraint setConstant: kCollapsedHeight]; // 70.0 else [_collapsedtextHeightConstraint setConstant: [self idealCellHeightToShowFullText]]; [self setNeedsUpdateConstraints]; } 每当执行此操作时,我都会将其包装在tableView更新中并调用[tableView setNeedsUpdateConstraints]: [tableView beginUpdates]; [_briefCell collapse:!_showFullBriefText]; [tableView setNeedsUpdateConstraints]; // I have also tried // [self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationTop]; // with exactly the same results. [tableView endUpdates]; 当我这样做时,我的单元格确实会展开(并在执行过程中设置动画),但是我收到了约束警告: 2014-07-31 …