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



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

你可以采用带有约束或使用框架的自动布局方法,以下是代码在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

最新更新