각 셀의 텍스트 양에 따라 크기가 다른 셀을 사용하여 가로 방향 UICollectionView를 만들려고합니다. 아래 코드를 사용하여이 작업을 수행 할 수 있었지만 이제는 셀 사이에 여분의 간격이 생깁니다. 내 minimumLineSpacingForSectionAt는 이미 0을 반환하고 음수를 반환하려고 시도했지만 어느 것도 작동하지 않습니다. 누구든지 여분의 공간이 왜 생겨나고 그것을 제거하는 방법을 알고 있습니까?UICollectionView 크기에 대한 변수를 사용하여 CGSize를 반환하면 셀 사이에 원하지 않는 여분의 간격이 발생합니다.
참고로, 내 셀 안에는 셀의 전체 크기에 제약이있는 1 개의 UILabel이 있습니다.
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
var stringWidth: CGFloat = 100
//Finding and setting feedMenuCellWidth
if let groupName = groups[indexPath.item].name {
var originalString: String = groupName
let myString: NSString = originalString as NSString
let size: CGSize = myString.size(attributes: [NSFontAttributeName: UIFont.systemFont(ofSize: 17.0)])
stringWidth = size.width
}
//Returning CGSize
return CGSize(width: stringWidth + 20, height: frame.height) // with standard width
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 0
}