2015-07-29 17 views
6

2 bölüm UITableView oluşturuyorum. İlk bölüm, Default stili ile UITableViewCells stilini kullanır, ikincisi Subtitle stilini kullanır. Her iki hücre de çok satırlı bir metin etiketine sahip olabilir.UITableViewAutomaticDimension Altyazı UITableViewCells ile düzgün çalışmıyor

Tablonun rowHeight değerini UITableViewAutomaticDimension olarak ayarlıyorum. Subtitle stilini kullanırken

aşağıdaki ekran görebileceğiniz gibi

, UITableViewAutomaticDimension sadece kısmen saygı duyulur: yükseklik textLabel 'ın yüksekliğini ancak detailLabel Bir' i uygun görünüyor.

Doğru yüksekliğe sahip bir Subtitle hücresini nasıl yapabilirim?

Bazı kod:

override func viewDidLoad() { 
    super.viewDidLoad() 
    tableView.delegate = self 
    tableView.estimatedRowHeight = 80 
    tableView.rowHeight = UITableViewAutomaticDimension 

    tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "defaultCell") 
    tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "subtitleCell") 
} 

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    if indexPath.section === 1 { 
     var cell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "subtitleCell") 
     cell.textLabel?.numberOfLines = 0 
     cell.textLabel?.text = "A Long text..." 
     cell.detailTextLabel?.numberOfLines = 0 
     cell.detailTextLabel?.text = "A Long text..." 
     return cell 
    } 
    else { 
     var cell = tableView.dequeueReusableCellWithIdentifier("defaultCell") as! UITableViewCell 

     cell.textLabel!.text = "A long text..." 
     cell.textLabel?.numberOfLines = 0 
     return cell 
    } 

} 

Ben autolayout ve bölüm başlıkları (uzun hikaye) ile UITableViewCell ama pek çok sorunun bir alt sınıfını uygulamak için denedim, o yüzden olabilir acaba sorunu daha basit bir şekilde düzeltin.

+0

https://github.com/williamhqs/testSubtitleCellLayout hiç bu düzeltmek mümkün miydin burada? – Jan

cevap

0

Sadece Xcode 9 ve iPhone 8 simulator üzerinde çalıştı, çok iyi çalışıyor.

kod

enter image description here

İlgili konular