static func fittingSize(availableHeight: CGFloat, name: String?) -> CGSize {
let cell = TagCell()
cell.configure(name: name)
let targetSize = CGSize(width: UIView.layoutFittingCompressedSize.width, height: availableHeight)
return cell.contentView.systemLayoutSizeFitting(targetSize, withHorizontalFittingPriority: .fittingSizeLevel, verticalFittingPriority: .required)
}
CollectionView Dynamic Cell Height ( 참고 사이트 )
SnapKit ( 참고 사이트 )
- Dynamic Cell을 공부하다 알게되었다. SnapKit은 constraint을 좀 더 간편하게 사용할 수 있는 오픈 라이브러리이다. 확실히 constraint을 직접 써주는것보다 간편하다.
titleLabel.snp.makeConstraints { (make) in
make.top.equalToSuperview().inset(10)
make.bottom.equalToSuperview().inset(10)
make.left.equalToSuperview().inset(10)
make.right.equalToSuperview().inset(10)
}
친구들이 미래의 유저이기 때문에 디자인을 신경쓰고 있다.😭 당근마켓, 번개장터를 찾아보면서 구현하는 중이다. 다이나믹 셀 부분은 번개장터 UI를 참고하였다. 번개장터엔 xmark image로 삭제할 수 있는 기능까지 있던데 xmark image도 조만간 넣어 볼 예정이다. 사실 오늘 좀 시도했지만 xmark가 이상하게 들어가 일단 보류했다. 내가 들은 강의에선 거의 Storyboard만을 사용해서 UI를 코드로 구현해볼 일이 없었는데 오늘 드디어 구현해보았다. Storyboard가 역시 괜히 있는게 아니었다.. 하지만 코드 구현은 다이나믹 셀 같이 동적인 UI를 구현할 때 꼭 필요하기 때문에 확실히 알아 둘 필요가 있는것 같다. UI 구현 공부 좀 해봐야겠다.
요즘 들어 Xcode가 슬슬 짜증난다. 분명! 코드도 똑같고 설정해준것도 다 똑같았는데 어제는 안됐고 오늘은 됐다. 이런적이 한 두 번이 아니라 더 화난다 😈 안드로이드는 동기화가 빠릿빠릿하게 됐는데.. ㅋ 그립다 그 시절.. ^^ 내일은 태그를 입력하면 추가가 되는 기능을 구현해 볼 예정이다 ~