0

UITableView のフッターとして使用しているカスタム UITableViewCell があります。

func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    let cell = tableView.dequeueReusableCellWithIdentifier("footerCommentCell") as! FooterCommentTableViewCell
    cell.footerIndex = section
    cell.delegate = self
    return cell
}

このフッターには http://joxi.ru/DrloGbpC4Eb3vAのような自動レイアウトがあり ます 1 - ビュー 1 2 - ビュー 2 3 - ビュー 2 高さ制限 ( view2Height)

初期段階view2Heightでは 0 であり、一部のアクションでは、この制約定数を別の値 (50 など) に変更し、ヘッダーを に変更したいと考えています。

これを実装する方法はありますか?

4

4 に答える 4

0

@2ank3th の回答に追加すると、フッターのセル/ビューを取得できます。

func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    let footerView = tableView.footerViewForSection(0) as! FooterCommentTableViewCell 
// Your section number. (0 for understanding purpose)

// Then you can modify the height constraint and return the height of footer here.

}
于 2016-03-21T16:12:49.590 に答える
0
func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat 
{
    return UITableViewAutomaticDimension
}

func tableView(tableView: UITableView, estimatedHeightForFooterInSection section: Int) -> CGFloat
{
    return 44.0
}
于 2016-03-23T06:14:17.103 に答える
0

heightForFooterInSection をオーバーライドし、要件に基づいて 0 または 50 を返し、テーブル セクションをリロードすることができます。

override func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {

        //return value based on condition 
    }
于 2016-03-20T15:10:50.870 に答える
0

これはとても簡単です。動的と言うときは、それを変更するには何らかの条件が必要であることを意味します。例: 2 つの UITableviewCells をサブクラス化し、テーブル ビューをリロードします。

于 2016-03-21T09:57:13.060 に答える