주 UIViewConroller의 왼쪽에있는 컨테이너보기가 있습니다. 이 컨테이너 뷰는 맨 아래에 몇 개의 버튼, 중간에 사용자 데이터를 표시하는 UITableView, 상단에 다른 UITableView를 표시하여 을 선택하여 사용자 데이터를 표시합니다. 선택한 상위 데이터가 없으면 사라져서 최대 높이 200에 도달하도록이 Top UITableView의 동작을 원합니다. 선택한 각 데이터 항목은 표의 항목과 같습니다.UITableView 크기 및 NSLayoutConstraints와의 싸움
사진을 확인하십시오. 이 실행되는 그림에서 나는 하나 개의 선택된 데이터 항목이 "테스트"라는 제목로드 한 : 어쨌든
, 내가 인터페이스 빌더에 의해 생성 된 레이아웃 제약 관련이 데 문제 . 다음은 데이터 테이블과 선택된 데이터 테이블을 동적으로 크기 조정하기 위해 취한 단계입니다.
이-(void)setSelectedFacets:(NSArray *)selectedFacets{
_selectedFacets = selectedFacets;
[self.selectedFacetsTableView reloadData];
CGRect frame = self.selectedFacetsTableView.frame;
frame.size.height = 10 ;//36 * selectedFacets.count;
self.selectedFacetsTableView.frame = frame;
[self.selectedFacetsTableView setNeedsDisplay];
[self.view setNeedsDisplay];
}
냈다 위의 코드는 수행합니다
내가 = 200 < 될 상단 대부분의 TableView를 설정, 상위 테이블의 크기 조정을 할이 코드를 기본으로 가운데 하나를 왼쪽으로 한 다음 추가 (뷰 컨트롤러가 완전히로드 된 후) 실행하지만 실제 높이에는 영향을 미치지 않습니다.
누구에게도 경험이 있습니까?
NSLayoutConstraints에 IBOutlet을 추가하여 (참조를 얻은 다음) 런타임에 삭제할 수 있음을 알고 있습니다. 이것은해야 할 일보다 더 많은 일처럼 보입니다. 내가 놓친 게 있니?