以编程方式在UICollectionView内对齐UILabel大小

时间:2017-03-20 09:37:44

标签: ios swift3 uicollectionview

我在我的应用程序中使用UICollectionView。问题是我在UICollectionView中有多个UILabel。 UILabel的宽度大于collectionview宽度。所以它重叠并且看起来不太好。如何以编程方式设置collectionview标签的宽度

1 个答案:

答案 0 :(得分:1)

你可以采用带有约束的自动布局方法,或者在这里使用框架代码在Objective-C中的外观:

// using auto layout
self.label.translatesAutoresizingMaskIntoConstraints = NO;
[self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:self.label
                                                 attribute:NSLayoutAttributeWidth
                                                 relatedBy:NSLayoutRelationEqual
                                                    toItem:self.contentView
                                                 attribute:NSLayoutAttributeWidth
                                                multiplier:0.8
                                                  constant:0]];


//using frames
CGFloat labelWidth = CGRectGetWidth(self.contentView.bounds)*0.8;
self.label.frame = CGRectMake(DESIRED_X_POSSITION, DESIRED_Y_POSSITION, labelWidth, DESIRED_HEIGHT);

// you can set your labels' number of lines to 0 so your text goes to the next line
self.label.numberOfLines = 0