2017-07-25 3 views
2

Ich habe ein sehr seltsames Phänomen. Ich verwende die AutomaticDimension-Funktion in meiner Tabellenansicht und aus irgendeinem seltsamen Grund funktioniert es auf allen meinen Zellen mit Ausnahme von 3. Alle meine Zellen haben genau die gleichen Einschränkungen, die der seltsame Teil ist. Ich habe versucht, die Beschränkungen auf den Zellen zu ändern, aber es scheint, dass sie ignoriert werden. Jede Einsicht wäre großartig. Ich vergewissere mich, dass ich die automatische Bemaßungsfunktion in viewdidload aufgerufen habe.Einige Zellen in UITableView werden nicht automatisch skaliert

override func viewDidLoad() { 
    super.viewDidLoad() 


    self.TableView.dataSource = self 

    TableView.estimatedRowHeight = 200.0 
    TableView.rowHeight = UITableViewAutomaticDimension 
} 

Hier ist einer der Klassen, die nicht funktioniert:

class foursleepCell: UITableViewCell { 
@IBOutlet weak var foursleepLabel: UILabel! 
@IBOutlet weak var foursleepScale: UISegmentedControl! 

var delegate: foursleepCellToController? 

@IBAction func foursleepValueChanged(_ sender: UISegmentedControl) { 
    if let delegate = delegate { 
     let indexPath = delegate.indexOfChangedfoursleepCell(at: self) 
     delegate.savefoursleepCellResponse(at: indexPath, response: foursleepScale.selectedSegmentIndex) 
    } 
} 
} 

Beigefügt sind Bilder von Einschränkungen und Ausgang:

Label Constraints

Segmented Control Constraints

Actual Output

Working Output

+0

Ich habe, was das gleiche Problem sein kann (eine ähnliche Frage von vor ein paar Tagen gestellt, aber habe keine Antwort bekommen). Aufgrund Ihrer Bilder existieren einige Einschränkungen zur Laufzeit nicht. Ich vermute, das ist die Ursache des Problems - ohne die Einschränkungen von oben nach unten funktioniert die automatische Größenanpassung nicht. – John

+0

Können Sie versuchen, geschätztRowHeight = 40 zu setzen? –

+0

Ich habe das versucht. Habe nichts repariert –

Antwort

0

Ich glaube nicht, dass es etwas falsch mit der Art und Weise ist, dass Sie die Zelle zu setzen versuchen, automatisch die Größe, es ist nur die Tatsache, die die von oben nach unten Einschränkungen, die für die erforderlich sind, Die Größenänderung ist zur Laufzeit nicht vorhanden. Offenbar ist dies etwas, das manchmal in Xcode passieren kann - versuche, eine neue Tabellenansichtszelle zu erstellen und alle Ansichten und Abhängigkeiten von Grund auf neu zu erstellen. Das Kopieren und Einfügen der Tabellenansichtszelle in eine neue Zelle und das Arbeiten mit der Kopie haben es für mich nicht repariert - es verhielt sich genau so. Aber es hat sich gelohnt, es frisch zu machen.

Verwandte Themen