2016-11-12 3 views
2

나는 UITableViewController을 가지고 있는데 그 위에 나는 UIView을 넣었고 그 안에는 UICollectionView가 있습니다.스위프트 + UIView 숨기기 또는 제거

collectionView 데이터가 비어있는 경우 UIView을 제거하고 싶습니다. 나는 시도 :

self.collectionView.removeFromSuperview() 

self.collectionView.hidden = true 

을 이들은 UIView 제거하지만 내 tableview 위의 빈 공간이 있습니다. 어떻게 제거 할 수 있습니까?

편집 : 내 스토리 보드 사진이 추가되었습니다. 권장보기가 tableviewheader 안에 없습니다.

enter image description here

+0

문제점의 스크린 샷을 게시 할 수 있습니까? – Joe

답변

0

컬렉션보기가 테이블 헤더보기 (스토리 보드에 배치 한 방식) 인 것처럼 보입니다.

데이터가 RecommendedView은 tableHeaderView입니다

self.tableView.tableHeaderView = nil

+0

이것은 트릭을 수행합니다 ... –

0

나는 시도하지 않은하지만이 코드는 문제를 해결해야한다.

self.tableView.tableHeaderView?.isHidden = true 
+0

내보기가 헤더보기 안에 없습니다 –

0

추천보기는 테이블보기가 아닌 위에 놓았습니다. 따라서 헤더 나 셀로 배치 할 수 있습니다. 따라서 셀프 헤더 높이를 변경하지 마십시오.

0

하늘의 경우는 전무로 설정하십시오. RecommendedView의 높이 제약에 대한 콘센트가 있는지 확인하십시오.

컬렉션보기에 요소가없는 경우 높이 제한을 0으로 설정하십시오.

@IBOutlet var tableHeaderHeighConstraint: NSLayoutConstraint! 

override func viewDidLoad(){ 
    if collectionIsEmpty(){ 
     tableHeaderHeighConstraint.constant = 0 
     self.tableView.tableHeaderView?.layoutIfNeeded() 
    } 
} 
관련 문제