场景:autoLayout自动布局 ,在UITableView的cell中添加UILabel,UILabel需要多行显示。
我原先的设置的约束:
//添加子控件
- (void)addComponents
{
self.tagView = [[UIView alloc] init];
[self addSubview:self.tagView];
self.descLabel = [[UILabel alloc] init];
self.descLabel.numberOfLines = 0;
self.descLabel.lineBreakMode = NSLineBreakByWordWrapping;//拆行
[self addSubview:self.descLabel];
}
//添加约束
- (void)addContraints
{
[self.tagView tn_pinEdgeToSuperviewEdge:TNAEdgeLeading withInset:10.0f];
[self.tagView tn_pinEdgeToSuperviewEdge:TNAEdgeTop withInset:2.0f];
[self.tagView tn_setDimension:TNADimensionWidth toSize:50.0f];
[self.tagView tn_setDimension:TNADimensionHeight toSize:21.0f];
[self.descLabel tn_pinEdge:TNAEdgeLeading toEdge:TNAEdgeTrailing ofView:self.tagView withOffset:0.0f];
[self.descLabel tn_pinEdgeToSuperviewEdge:TNAEdgeTop withInset:2.0f];
}
出现的效果:
最后解决如下,在约束中再添加一个约束,让UILabel依靠父view的右边
[self.descLabel tn_pinEdgeToSuperviewEdge:TNAEdgeTrailing withInset:0.0f];
得出的效果图: