22

私はしばらくの間、フッタービューを非表示にするために取り組んできました。私の問題は、ボタンをクリックするとフッターにボタンがあり、最後のセクションとして1つのセクションが下に追加され、ボタンも新しく作成されたセクションに移動するため、テーブルの前のセクションのフッターを非表示にしますセクションの更新後。

footerView.hidden = YES

これをボタンアクションで使用しましたが、機能しません。

4

8 に答える 8

46

4つの解決策があります。彼らです、

解決策 1:

tableView.sectionHeaderHeight = 0.0;
tableView.sectionFooterHeight = 0.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];
}

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger )section {
    return [[UIView alloc] initWithFrame:CGRectZero];
}

解決策 2:

サイズタブの下のインターフェイスビルダーを介して、フッター/ヘッダーの高さを設定できます。

解決策 3:

contentInsetプロパティを設定します。

self.tableView.contentInset = UIEdgeInsetsMake(-20, 0, -20, 0);

上下をエッジに接触させるために使用されます。

解決策 4:

以下を実装し、条件に応じて値を設定します。0.0 は受け付けません。下限値は 1.0 にする必要があります。

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger )section {
    if(section == 0) {
       return 6;
    } else {
       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)];
}
于 2012-07-12T05:38:01.230 に答える
18

これでできるはず

tableView.tableFooterView.hidden = YES;
于 2012-07-12T05:11:36.123 に答える
8

これはデリゲートメソッドを実装することで実現できます

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
  return CGFLOAT_MIN;
}
于 2016-11-15T13:28:12.997 に答える
1

Swift4で:

self.tableView.tableFooterView = nil
于 2018-08-19T07:49:30.027 に答える
-1

Swift 5 ソリューション: (セクション フッターを非表示にします。テーブル フッターを取り除くために別の部分が必要になる場合があります)

func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    return 0.0
}

func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    return UIView()
}
于 2020-05-03T00:37:40.477 に答える