Я работаю с collectionView, чтобы создать приложение фида, и сделал большинство вещей, но у меня есть вопрос по улучшению моего кода: например, у меня есть ячейка состояния, подобная этой:
Обычно для динамического содержимого ячейки я изменяю размер ячейки в sizeForItem делегата, например:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
print(")-Layouting each cell")
let textView = UITextView()
textView.isScrollEnabled = false
textView.font = UIFont.preferredFont(forTextStyle: .subheadline)
textView.text = posts[indexPath.item].statusText
let estimatedSizeForStatus = textView.sizeThatFits(CGSize(width: view.frame.width, height: .infinity))
return CGSize(width: view.frame.width, height: 470 + estimatedSizeForStatus.height)
}
Но мне сложно поддерживать код,Когда я захочу изменить размер шрифта состояния, мне придется заменить код в 2 местах (в классе делегата и ячейки).
Есть ли лучший способ улучшить это?