24.10.31 Today I Learned
2024. 10. 31. 16:15
어플 수정중에 컬렉션뷰를 수평 스크롤 할때 밑줄을 지우는 방법을 추가했음
해당 컬랙션뷰를 선언하고나서 기능을 추가할때
private let puppyCollectionView: UICollectionView = {
let layout = UICollectionViewFlowLayout()
layout.scrollDirection = .horizontal
layout.minimumLineSpacing = 0
layout.minimumInteritemSpacing = 0
let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
collectionView.backgroundColor = UIColor.puppyPurple.withAlphaComponent(0.1)
collectionView.layer.cornerRadius = 15
collectionView.isPagingEnabled = true // 페이징 가능하도록 설정
collectionView.isHidden = true // 초기에는 숨김
collectionView.showsHorizontalScrollIndicator = false // 스크롤시 밑줄 숨김 <<
return collectionView
}()
맨 마지막에
.showHorizontalScrollIndicator = false로 설정해주면 됨
그리고 다른 컬렉션뷰에 페이지 인디케이터를 추가했는데 화면에 나오지 않았음. 그 이유는 pageControl.numberOfpages가 설정되지 않아서였음.
그래서 Rxswift를 사용하고 있어서
private func bindCollectionView() {
viewModel.puppySubject
.observe(on: MainScheduler.instance)
.subscribe(onNext: { [weak self] pets in
guard let self = self else { return }
if pets.isEmpty {
self.profilePuppyCollectionView.isHidden = true
self.noDataLabel.isHidden = false
} else {
self.profilePuppyCollectionView.isHidden = false
self.noDataLabel.isHidden = true
// pageControl의 페이지 수를 컬렉션 뷰 아이템 수로 설정
self.pageControl.numberOfPages = pets.count
}
})
.disposed(by: disposeBag)
viewModel.puppySubject
.bind(to: profilePuppyCollectionView
.rx
.items(cellIdentifier: ProfilePuppyCollectionViewCell.identifier,
cellType: ProfilePuppyCollectionViewCell.self)) { index, data, cell in
cell.configure(with: data)
}.disposed(by: disposeBag)
profilePuppyCollectionView.rx.setDelegate(self).disposed(by: disposeBag)
}
이렇게 설정해주니 됐음.
'Today I Learned > 2024' 카테고리의 다른 글
앞으로 TIL작성은 따로 하지 않고 블로그 게시로 대체 (0) | 2024.12.30 |
---|---|
24.10.29 Today I Learned (0) | 2024.10.29 |
24.10.15 Today I Learned (1) | 2024.10.15 |
24.09.27 Today I Learned (3) | 2024.09.27 |
24.09.13 Today I Learned (0) | 2024.09.13 |