Перво-наперво, сначала вы должны снять отметки с клипов для привязки к ячейке в раскадровке, или вы можете сделать это в
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath)
// So that the label can go out of bound
cell?.clipsToBounds = false
cell?.label.clipsToBounds = false
.
.
.
return cell
}
Теперь вы можете использовать логику с ограничением для достижения желаемого в InterfaceBuilder
Или
Вы можете изменить рамку метки в cellForItem, примерно так
// Change desiredWidth according to you needs
let desiredWidth = 1000
cell?.wordlabel.frame = CGRect(origin: (cell?.wordlabel.frame.origin)! , size: CGSize(width: desiredWidth, height: 30))
EDIT
Вы можете настроить размер своей ячейки:
extension YourViewController: UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let font = UIFont.systemFont(ofSize: 13)
let size = (data[indexPath.row] as NSString).size(withAttributes:[NSAttributedString.Key.font: font])
// Add your logic here for the desired cell width
let additionalpadding: CGFloat = 1000
return CGSize(width: size.width + additionalpadding, height: 30)
}
}