홈>
컬렉션 뷰로 시각적 인 아름다움을 원하지만 정렬 문제가 발생했습니다. 나는 당신과 공유합니다. 페이지가 처음로드 될 때 아무런 문제가 없습니다.
컬렉션 뷰로 스크롤하면 약간의 변화가 있습니다.
컬렉션 뷰가 옆으로 이동하고 정렬 정렬이 변경되지 않았지만 해결책을 찾기 위해 매우 열심히 노력했습니다. 내 코드를 당신과 공유합니다.
override func awakeFromNib() {
super.awakeFromNib()
self.celloectionCat.delegate = self
self.celloectionCat.dataSource = self
self.celloectionCat?.register(UINib(nibName: "mycell", bundle: nil), forCellWithReuseIdentifier: "mycell")
self.celloectionCat.showsHorizontalScrollIndicator = false
self.celloectionCat.showsVerticalScrollIndicator = false
self.celloectionCat.isPagingEnabled = true;
self.celloectionCat.alwaysBounceVertical = false
}
extension Cell : UICollectionViewDelegateFlowLayout{
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
return UIEdgeInsets(top: 0, left: 15, bottom: 0, right: 15)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let padding: CGFloat = 45.0
let hpadding: CGFloat = 15.0
let collectionViewWidthSize = collectionView.frame.size.width - padding
let collectionViewHeightSize = collectionView.frame.size.height - hpadding
return CGSize(width: collectionViewWidthSize / 2 , height: collectionViewHeightSize / 2 )
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
return 15
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 15
}
}
- 답변 # 1
관련 자료
- typescript - Ionic 5 슬라이드 ionSlideDidChange가 마지막 슬라이드에 대해 호출되지 않았습니다
- ios - Swift 4에서 CollectionView에서 DetailVC로 데이터 전달
- ios - 스위프트 - collectionview로 imageview 스택 생성
- Ionic 4 Slides - 이오니아 4 슬라이드 - 초기 슬라이드 설정
- ios - Swift collectionView에서 한 번만 호출 된 cellForItemAt
- ios - collectionView는 세 줄로 나뉩니다 신속한 4
- ios - 신속한 5에서 더 오른쪽으로 스크롤하면 collectionView의 왼쪽이 고정됩니다
- iOS Swift CollectionView 인덱스에서 올바른 배경색을 설정하는 방법
- ios - collectionviewperformbatchupdates> reloaditems (at - ) 실행 후 collectionview 셀 내의 swift -property가 업데이트되지 않음
- ios - 별도의 CollectionView 셀에 원형 레이블 설정 [Swift]
- ios - Swift의 collectionView에서 카테고리별로 여러 카테고리를 표시하는 방법은 무엇입니까?
- powerpoint - 이식 된 슬라이드에 슬라이드 마스터를 적용하는 방법
- CollectionView 셀 스위프트의 버튼 동작
관련 질문
- CollectionView 인덱스가 변경될 때 분할된 진행률 표시줄 업데이트 Swift
- ios : 컬렉션 보기 드래그 앤 드롭 + 구성 레이아웃이 함께 작동하지 않는다고 생각하는 것이 맞습니까?
- ios : UITableView + UICollectionView + UITableView 크기 조정 문제
- iOS 15용 Xcode 13이 콘솔 UICollectionViewRecursion에서 경고를 받고 있음] cv== 0x7fc7f418e000 재귀 트리거 로깅 비활성화
- ios : UICollectionView 레이아웃 잘못된 항목 크기
- ios : 구성 레이아웃에서 섹션 머리글이 셀이 겹치지 않도록 하려면 어떻게 합니까?
- ios : VC.isHidden= true가 예상대로 작동하지 않음
- swift : 프로그래밍 방식으로 UICollectionViewLayout을 추가하는 방법은 무엇입니까?
- ios : 잘못된 면과 잘못된 크기/내용으로 메시지가 표시됨(MessageKit)
- swift : collectionView 셀에 포함된 tableView 행을 선택할 때 viewController 제시
이 기능은 페이징이 활성화 된 경우 컬렉션보기가 컬렉션보기 크기의 배수로 콘텐츠보기를 중지하기 때문입니다.
문제에 대한 한 가지 접근 방식은 셀을 섹션, 특히 페이지 당 하나의 섹션과 섹션 당 최대 4 개의 셀로 분할하는 것입니다. 섹션 삽입을 올바르게 설정하면 하나의 섹션이 컬렉션보기의 크기가되고 셀이 섹션 중앙에 정렬됩니다.
여기에 약간의 변경 사항이있는 코드가 있습니다. 하드 코딩 된 숫자를 사용했지만 코드에서이를 반대하는 것이 좋습니다 (또한 셀 크기 계산을 sizeForItem 메서드 밖으로 이동하는 것이 좋습니다.이 방법은 여러 번 호출되지만 크기는 변경되지 않습니다).