在uitableviewcell中的子视图中的uibutton没有按照条件回滚后更新

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *simpleTableIdentifier = @"cell"; UITableViewCell *cell = (UITableViewCell *) [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier forIndexPath:indexPath]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier]; } tv.rowHeight = UITableViewAutomaticDimension; tv.estimatedRowHeight = 44.0; [cell setNeedsUpdateConstraints]; [cell updateConstraintsIfNeeded]; NSDictionary *Data5 = [pro1 objectAtIndex:indexPath.row]; NSString *name = [Data5 objectForKey:@"handle"]; UIButton *c3 = (UIButton *)[cell viewWithTag:775]; NSLayoutConstraint *height = [NSLayoutConstraint constraintWithItem:c3 attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:0 multiplier:0 constant:70]; NSLayoutConstraint *height2 = [NSLayoutConstraint constraintWithItem:c3 attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:0 multiplier:0 constant:0]; [c3 removeConstraint:height]; [c3 removeConstraint:height2]; [c3 addConstraint:height]; if ([name isEqualToString:@"abcd"]) { UITableViewCell *updateCell2 = (id)[tableView cellForRowAtIndexPath:indexPath]; if (updateCell2){ [c3 removeConstraint:height]; [c3 removeConstraint:height2]; [c3 addConstraint:height2]; } }else{ [c3 removeConstraint:height]; [c3 removeConstraint:height2]; [c3 addConstraint:height]; } return cell; } 

在第一次加载时,条件是完美的。 c3button高度根据其他情况在第一次加载时是完美的。 但是当我滚动,然后所有的c3button采取“高度2”约束。 如果其他情况混乱。 你能帮我吗?

结构是:

-tableview –cell — contentview —- view —– button(c3)