[ios] UITableView 아래에서 추가 구분 기호 제거

4 행으로 테이블 뷰를 설정할 때 채워진 행 아래에 여분의 구분선 (또는 여분의 빈 셀)이 여전히 있습니다.

이 세포들을 어떻게 제거합니까?

UITableView의 추가 구분선 이미지



답변

인터페이스 빌더 (iOS 9+)

UIView를 테이블로 드래그하십시오. 스토리 보드에서는 사용자 지정 셀 아래 맨 위에 배치됩니다. 이름을 “footer”로 지정할 수 있습니다.

여기에는 명확성을 위해 녹색으로 표시되어 있으며 명확한 색상을 원할 것입니다.

높이를 조정하면 원하는대로 테이블의 “바운스 바운스”처리 방법에 영향을 줄 수 있습니다. (높이 0은 일반적으로 좋습니다).

여기에 이미지 설명을 입력하십시오


프로그래밍 방식으로 수행하려면

빠른

override func viewDidLoad() {
    super.viewDidLoad()
    self.tableView.tableFooterView = UIView()
}

목표 -C

iOS 6.1 이상

- (void)viewDidLoad 
{
    [super viewDidLoad];

    // This will remove extra separators from tableview
    self.tableView.tableFooterView = [UIView new];
}

또는 원하는 경우

    self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

역사적으로 iOS에서 :

테이블 뷰 컨트롤러에 추가 …

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
     // This will create a "invisible" footer
     return CGFLOAT_MIN;
 }

그리고 필요하다면 …

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{        
    return [UIView new];

    // If you are not using ARC:
    // return [[UIView new] autorelease];
}


답변

다음은 그룹화 된 테이블 스타일을 사용하여 다른 방법으로 수행 할 수있는 방법입니다. 표에 머리글과 바닥 글을 추가 하면 (아마도 하나 또는 다른 것으로 충분하지 않은 경우) , 구분 기호가 필러 / 빈 행에서 사라집니다.

나는 고기가 많은 손가락으로 테이블 셀 대신 버튼을 칠 위험을 줄이기 위해 테이블의 상단과 하단에 약간의 공간을 원했기 때문에 이것에 걸려 넘어졌습니다. 빈보기를 머리글 및 바닥 글로 고정하는 방법은 다음과 같습니다. 원하는 높이를 사용하면 추가 구분선이 여전히 제거됩니다.

- (void) addHeaderAndFooter
{
    UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 10)];
    v.backgroundColor = [UIColor clearColor];
    [self.myTableView setTableHeaderView:v];
    [self.myTableView setTableFooterView:v];
    [v release];
}

@Casebash에 대한 응답으로, 내 앱 코드 (iTunes 스토어의 “AcmeLists”목록 관리자 …)로 돌아가 addHeaderAndFooter 메서드를 단락 시켜서 확인했습니다. 그것 없이는 여분의 행 구분 기호가 있습니다. 코드를 사용하면이 창 스냅에서 볼 수있는 것이 있습니다 : no table row separators picture . 그래서 왜 그것이 당신을 위해 일하지 않았는지 잘 모르겠습니다. 또한 테이블 뷰에 사용자 정의 바닥 글을 설정하면 그 아래에 빈 행에 대한 행 구분 기호 그리기를 중지해야합니다. 그것은 끔찍할 것입니다. 참고로 화면에서 볼 수있는 것보다 많은 행이있는 테이블을보고 두 개의 행이있는 테이블을 살펴 보았습니다. 두 경우 모두 외부 분리기가 없습니다.

사용자 정의보기가 실제로 추가되지 않았을 수 있습니다. 이를 확인하려면 배경색을 clearColor, 이외의 다른 색으로 설정하십시오 [UIColor redColor]. 표 하단에 빨간색 막대가 보이지 않으면 바닥 글이 설정되지 않은 것입니다.


답변

Swift의 UITableView에서 빈 행에 대한 추가 구분선 제거

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    self.yourTableview.tableFooterView = UIView()
}


답변

wkw 답변 을 연장하고 싶습니다 :

높이가 0 인 바닥 글 만 추가하면 트릭이 수행됩니다. (sdk 4.2, 4.4.1에서 테스트)

- (void) addFooter
{
    UIView *v = [[UIView alloc] initWithFrame:CGRectZero];

    [self.myTableView setTableFooterView:v];
}

또는 더 간단합니다-tableview를 설정하는 경우 다음 줄을 추가하십시오.

//change height value if extra space is needed at the bottom.
[_tableView setTableFooterView:[[UIView alloc] initWithFrame:CGRectMake(0,0,0,0)]];

또는 더 간단하게-구분 기호를 간단히 제거하십시오.

[_tableView setTableFooterView:[UIView new]];

다시 wkw 감사 합니다 🙂


답변

스토리 보드를 사용하는 iOS 7 이상

바닥 글 로을 드래그하면 UIView됩니다 UITableView. 바닥 글보기의 높이를 0으로 설정하십시오.


답변

이 시도. 그것은 나를 위해 일했다 :

- (void) viewDidLoad
{
  [super viewDidLoad];

  // Without ARC
  //self.tableView.tableFooterView = [[[UIView alloc] init] autorelease];

  // With ARC, tried on Xcode 5
  self.tableView.tableFooterView = [UIView new];
}


답변

스위프트

    override func viewDidLoad() {
        super.viewDidLoad()
        tableView.tableFooterView = UIView()
    }