Я уже знаю некоторые связанные с этим вопросы, касающиеся этого, но я пробовал их раньше, но все еще не повезло.
Вот моя проблема на следующем скриншоте
Мой текущий экран показывает фиксированный размер ячейки и отображает пустые места для меньшего содержимого и большего содержимого, проходящего по ячейке с точками.
я хотел как ниже
оно должно соответствовать ширине содержимого имени категории продукта.
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
if collectionView == self.catCollectionView{
let catCell = collectionView.dequeueReusableCell(withReuseIdentifier: "catCell", for: indexPath)
as! catCell
DispatchQueue.main.async {
catCell.configureCell()
let catCountInt = self.catCountArray[indexPath.row]
catCell.catCountLabel.text = String(catCountInt)
catCell.catNameLabel.text = self.categoryNameArray[indexPath.row]
catCell.catCountLabel.sizeToFit()
catCell.catNameLabel.sizeToFit()
}
return catCell
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let catCell = collectionView.dequeueReusableCell(withReuseIdentifier: "catCell", for: indexPath)
as! catCell
catCell.catNameLabel.text = self.categoryNameArray[indexPath.item]
catCell.catNameLabel.sizeToFit()
let labelWidth = catCell.catNameLabel.frame.width + 10
print("frame width: \(labelWidth)")
return CGSize(width: labelWidth, height: 21)
}
}
Может быть, я упускаю простую вещь здесь, но я не мог понять в данный момент. Пожалуйста, помогите мне и извините за мой странный английский.