2011-07-12 29 views
16

Benim tablo görünümün Altbilgiyi çalışmıyor programlı altbilgi görünümün boyutunu değiştirerek bir kullanıcıdan bazı tweet'leri gösteren bir görünümdür, bu yüzden ben tweetleri alana kadar, bir yöntem olan bir FooterViewController yarattı onun yüksekliğini bilmiyorumUITableView:

refreshTweets yöntemde
FooterViewController *controller = [[FooterViewController alloc] initWithNibName...]; 
[[self tableView] setFooterView:[controller view]]; 
[controller refreshTweets]; 

, ben tweet'leri okumak ve toplam yüksekliği hesaplamak ve 'ın yüksekliğini görünümü (alt bilgi) reset: refreshTweets, ben viewDidLoad eklemek

self.view.frame = newFrame; 

ancak yok mantıklı, altbilgi yüksekliğinin ben Arabirimi ayarlanan yükseklik hala Oluşturucu, eksik ya da bunu yapmanın alternatif bir yolu var mı?

Teşekkürler!

düzenleme: Ben arayüz oluşturucu yeterince küçük olması görünümün boyutunu değiştirebilir ve tweet'leri yüksekliğini hesaplayıp view.frame ayarladıktan sonra genişlemiş, ancak tablo görünümü hala kendi altbilgi önceki yüksekliğe sahiptir düşünüyor olduğu, fazladan bir boşluk tableview dışında olduğunu ve masa yukarı sürükleyin eğer sadece görebilirsiniz.

cevap

39
myTable.tableFooterView = myFooterView; 

tabloya altbilgi görünümü yeniden atayın. bunu tanıyıp masa Altbilginin uygun boyutta oluşabilir gereken neyse düzen, yeni bir altbilgi ve yeniden do sahiptir. Swift ise

: - -: Burada altbilgi görünümünün çerçeveyi değiştirmek için

+1

tableHeaderView boyutlandırma hakkında bu olabilir biri yararlı (ve daha ayrıntılı) bağlantı ; de tableFooterView için mükemmel çalışıyor: http://davidjhinson.wordpress.com/2009/03/24/resizing-a-uitableviews-tableheaderview/ – weienw

0

basit çimdik olduğunu

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


func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? { 
    let footerView = UIView() 
    let footerChildView = UIView(frame: CGRect(x: 60, y: 0, width: tableView.frame.width - 60, height: 0.5)) 
    footerChildView.backgroundColor = UIColor.darkGray 
    footerView.addSubview(footerChildView) 
    return footerView 
}