내 iPhone 앱에 몇 (그룹화 된 스타일) 테이블이 있습니다 (화면의 일부에만 있고 Interface Builder
하위 클래스로 분류되지 는 않지만 추가됨 UITableViewController
). 시간의 80 %가 작고 화면에 맞습니다. 테이블이 화면에 맞으면 스크롤을 비활성화하여 좀 더 깨끗하게 만들고 싶습니다. 그러나 테이블이 화면에서 사라지면 (나중에 행을 추가 할 때) 스크롤을 다시 활성화하고 싶습니다 (그렇지 않으면 해당 내용을 볼 수 없기 때문에).
이 방법이 있습니까? 나는 그것을 알아낼 수없는 것 같습니다. 나는 알고있다 :
tableView.scrollEnabled = NO;
그러나 테이블 객체 크기 또는 이것을 계산하기 위해 무언가를 계산 해야하는지 또는 어디에 있는지 잘 모르겠습니다.
업데이트 : 마침내 나를 위해 일한 솔루션은 다음과 같습니다.
if (table.contentSize.height < table.frame.size.height) {
table.scrollEnabled = NO;
}
else {
table.scrollEnabled = YES;
}
전화 한 후이 코드를 실행합니다. reloadData
테이블 하면 올바른 크기를 계산하고 작동하는 것처럼 보입니다.
table.frame.size.height
는 Interface Builder
화면에 표시된 객체의 실제 크기 (에서 볼 수 있음 )이고 table.contentSize.height
높이는 머리글, 바닥 글 및 함께 추가 된 모든 셀의 높이입니다.