나는 UITableView을 가지고 있고 내부에는 두 개의 UICollectionViews
이 있습니다.UICollectionView에 따라 UITableViewCell 높이를 설정하는 방법 Content size?
내 요구 사항은 처음으로 스크롤해야합니다. UICollectionView
가로. 그리고 나는 스크롤해야한다. UITableView
세로로 스크롤하고 싶지 않기 때문에 UICollectionView
두번째.
이미지에서 처음으로 (머리글 '폴더') UICollectionView
가로 스크롤해야하고 두 번째 (머리글 '제품') UICollectionView
UITableView
스크롤해야하기 때문에 세로로 스크롤 싶지 않아요.
모두 collectionView
은 TableViewCell
이고 두 번째는 스크롤을 사용하지 않도록 설정했습니다. UICollectionView
.
제품을 추가하고 삭제해야하는 이유는 무엇입니까? TableViewSecond
셀 높이를 설정해야합니다.
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if (0 == indexPath.section) {
var addFolderCell = tableView.dequeueReusableCell(withIdentifier: "AddFolderCell") as? AddFolderCell
if(nil == addFolderCell) {
let nib:Array = Bundle.main.loadNibNamed("AddFolderCell", owner: self, options: nil)!
addFolderCell = nib[0] as? AddFolderCell
}
addFolderCell?.collectionView.delegate = self
addFolderCell?.collectionView.dataSource = self
return addFolderCell!
} else {
let identifier = "CreateFolderCell"
var createFolderCell = tableView.dequeueReusableCell(withIdentifier: identifier) as? CreateFolderCell
if(createFolderCell == nil) {
let nib:Array = Bundle.main.loadNibNamed("CreateFolderCell", owner: self, options: nil)!
createFolderCell = nib[0] as? CreateFolderCell
}
return createFolderCell!
}
}
//Height for row.
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
//let index : NSIndexPath = NSIndexPath(row: 0, section: 1)
if 0 == indexPath.section {
return 135
}
return 300
}
// 헤더 높이 : 여기
내 코드입니다.
func tableView(_ tableView: UITableView, estimatedHeightForHeaderInSection section: Int) -> CGFloat {
return 20
}
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return sectionsArray[section] as? String
}
}
extension GroupDataView : UICollectionViewDelegate,UICollectionViewDataSource {
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 4
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "AddFolderCollectionCell", for: indexPath) as! AddFolderCollectionCell
//cell.backgroundColor = UIColor.white
cell.layer.borderWidth = 0.4
cell.layer.borderColor = UIColor.lightGray.cgColor
cell.layer.cornerRadius = 2
//CreateCardView(viewCorner: cell.cardView) //cell.cardView
return cell
}
}
// MARK : 컬렉션보기 레이아웃
extension GroupDataView : UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: 90, height: 130)
}
}
내가 무엇을 할 수 있습니까? 어떻게하면 tableView 높이를 설정할 수 있습니까?
tableView.rowHeight? 스토리 보드에 정의 된대로? – OhadM
예. 두 번째 collectionView 내용 크기에 따라 두 번째 셀 높이가 설정되기 때문에 어떻게 설정할 수 있습니까? 감사합니다. – kishor0011
ViewLayout 메서드를 재정 의하여 작업해야하기 때문에 올바른 방향을 향한 것처럼 보입니다. 문제는 컬렉션 뷰 셀의 높이를 테이블 뷰 셀 높이로 전달하는 것입니까? – OhadM