UITableView의 두 섹션 사이의 간격을 줄이는 방법이 있습니까? 내가 가진 모든 단일 섹션 사이에 약 15 픽셀이 있습니다. 이미 0을 반환하려고 않았다 -tableView:heightForFooterInSection:
및 -tableView:heightForHeaderInSection:
하지만 아무것도 변경되지 않습니다.
어떤 제안?
UITableView의 두 섹션 사이의 간격을 줄이는 방법이 있습니까? 내가 가진 모든 단일 섹션 사이에 약 15 픽셀이 있습니다. 이미 0을 반환하려고 않았다 -tableView:heightForFooterInSection:
및 -tableView:heightForHeaderInSection:
하지만 아무것도 변경되지 않습니다.
어떤 제안?
답변:
조금 까다로 웠지만이 코드를 사용해보십시오.
- (CGFloat)tableView:(UITableView*)tableView
heightForHeaderInSection:(NSInteger)section {
if (section == 0) {
return 6.0;
}
return 1.0;
}
- (CGFloat)tableView:(UITableView*)tableView
heightForFooterInSection:(NSInteger)section {
return 5.0;
}
- (UIView*)tableView:(UITableView*)tableView
viewForHeaderInSection:(NSInteger)section {
return [[UIView alloc] initWithFrame:CGRectZero];
}
- (UIView*)tableView:(UITableView*)tableView
viewForFooterInSection:(NSInteger)section {
return [[UIView alloc] initWithFrame:CGRectZero];
}
그에 따라 값을 변경하십시오. 공백을 제거하려면 0.0이 허용되지 않을 것이라고 생각합니다. 가장 작은 제정신 값은 1.0 인 것 같습니다.
0
높이로 사용할 수 없습니다 . 기본 높이를 얻습니다.
CGFloat.leastNonzeroMagnitude
거리를 0으로 줄이려면 다음을 사용해야합니다.
tableView.sectionHeaderHeight = 0.0;
tableView.sectionFooterHeight = 0.0;
UITableViewDelegate를 제공하면 0보다 큰 수레에서 시작하는 효과 만 만들기 때문입니다.
-(CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section
{
return 1.0;
}
-(CGFloat)tableView:(UITableView*)tableView heightForFooterInSection:(NSInteger)section
{
return 1.0;
}
-(UIView*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section
{
return [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
}
-(UIView*)tableView:(UITableView*)tableView viewForFooterInSection:(NSInteger)section
{
return [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
}
(XCode 4.0.2와 함께 iOS 4.1 사용)
return .leastNormalMagnitude
실제로 크기 탭 아래의 인터페이스 빌더에서 바닥 글 / 헤더 / 셀 높이를 설정할 수 있습니다. 기본적으로 머리글 / 바닥 글은 10.0으로 설정되어 있습니다.
스토리 보드에서 섹션 바닥 글 및 머리글의 높이를 줄일 수도 있습니다. tableview에서-> 크기 관리자. 섹션 높이로 이동하십시오.
기본적으로 일반 스타일 테이블의 경우 22로, 그룹화 된 스타일 테이블의 경우 10으로 설정되어 있습니다. 머리글과 바닥 글의 값을 개별적으로 늘리거나 줄여 값을 구성 할 수 있습니다.
iOS7 용 업데이트 : ARC 자동 릴리스 업데이트로 인해 @Martin Stolz 코드가 편집되었습니다.
-(CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section
{
if(section == 0)
return 6;
return 1.0;
}
-(CGFloat)tableView:(UITableView*)tableView heightForFooterInSection:(NSInteger)section
{
return 5.0;
}
-(UIView*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section
{
return [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
}
-(UIView*)tableView:(UITableView*)tableView viewForFooterInSection:(NSInteger)section
{
return [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
}
(iOS7, Xcode v5.0 사용)
머리글 / 바닥 글 공간을 변경하려면 다음 방법 을 구현 해야합니다 .
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
과
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat
(바닥 글 높이를 변경하려면 해당 방법을 사용하십시오)
다음 코드는 섹션 주위의 공백을 완전히 제거합니다.
public func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
return nil
}
public func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return nil
}
public func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return .leastNonzeroMagnitude
}
public func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return .leastNonzeroMagnitude
}
0.0
. 그러나 (기본) 30 포인트 높이의 회색 영역이 표시되었습니다. 사용0.0
이 허용되지 않습니다. 위의 값을 사용해야합니다 (0.0
예 :)0.0001
.