2016-03-20 42 views
0

UITableView için altbilgi olarak kullanıyorum özel bir UITableViewCell var.uitableview altbilgisini dinamik olarak değiştirin

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

Bu altbilgi sahip autolayout http://joxi.ru/DrloGbpC4Eb3vA gibi - görünümü 1 2 - görünüm 2 3 - Isı faz view2Height 'de 2 yükseklik kısıtlaması (view2Height)

0 olduğu ve bazı işlemler için bir Bu kısıtlama sabitini başka bir değere değiştirmek istiyorum, örneğin - 50, ve başlığımı değiştir.

Bunu uygulamak için herhangi bir yolu var mı?

cevap

0

heightForFooterInSection ürününü geçersiz kılabilir ve gereksinim ve yeniden yükleme tablosuna göre 0 veya 50 değerini döndürebilirsiniz.

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

     //return value based on condition 
    } 
+0

Bu yöntemde benim altbilgi hücreye erişim elde edemez, bu yüzden değiştiremez kısıt ben oto düzeni kullanmak çünkü istediğim sonucu vermeyecektir bütün yüksekliğini değiştirerek –

0

Bu çok kolaydır. Dinamik dediğinizde, değiştirmek için bazı koşullara ihtiyacınız olduğu anlamına gelir. Örneğin: İki UITableviewCells alt sınıfı ve ardından tablo görünümünü yeniden yükleyin.

0

@ 2ank3th yanıtı eklendiğinde, altbilginin hücre/görünümünü alabilirsiniz.

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. 

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

func tableView(tableView: UITableView, estimatedHeightForFooterInSection section: Int) -> CGFloat 
{ 
    return 44.0 
} 
İlgili konular