我的表格视图单元格中有一个按钮和一个标签,一个接一个地垂直放置。
在我的xib设计中,我放置了我的按钮然后在它下方放置了我的标签。
如果标签的字符串为空,那么我想在表视图单元格中将按钮设置为垂直居中并隐藏标签。
如果为我的实现尝试了以下代码,但按钮不在垂直中心位置。
if([labelString isEqualToString:@""]){
_label.hidden = YES;
_button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
}
如果得到解决此问题的建议,将会有所帮助。
答案 0 :(得分:0)
一种方法:使用约束的动态设置。
在InterfaceBuilder中:
在代码中:
当标签为空时,激活将包装器固定到按钮而不是标签上的约束:
BOOL hideLabel = [labelString isEqualToString:@""];
_label.hidden = hideLabel;
_wrapperToButtonConstraint.active = hideLabel;
_wrapperToLabelConstraint.active = !hideLabel;
现在收缩包装效果将使包装器具有与按钮相同的高度,并且由于包装器居中,因此按钮将居中。