Używam klas wielkości w aplikacji z systemem iOS 8 i mam widok wewnątrz UITableViewCell
o elastycznej szerokości. Jej układ automatycznego ograniczenia są zdefiniowane następująco:Wykryj ostateczny rozmiar układu dla widoku z elastyczną szerokością w UITableViewCell
Jak widać, jej szerokość waha się w zależności od szerokości urządzenia/orientacji.
Podczas drukowania jej ramki w cellForRowAtIndexPath
widzę (180,0, 10,0, 400,0, 60,0) który pokazuje 400 szerokość. Ale gdy mierzę widok w symulatorze, jest on tylko 175 szeroki, który jest wzmocniony przez fakt, że zawartość mojego widoku jest obcięta (w tym miejscu rysuję pewne rzeczy).
Skąd mogę wiedzieć, że ograniczenia i subviews z UITableViewCell
są w całości wykonane, aby można było przerysować elementy w moim widoku?
Aktualizacja
W cellForRowAtIndexPath
robię następujące dostać komórkę:
let cell = tableView.dequeueReusableCellWithIdentifier("TimeTypeCell", forIndexPath: indexPath) as! TimeTypeCell
let customField = customFields[indexPath.row]
cell.fieldNameLabel.text = customField["name"] as? String
cell.fieldValueLabel.text = customField["total"] as? String
cell.graphData = customField["totalGraph"] as! [Double]
cell.fieldGraph.dataSource = cell.self
cell.fieldGraph.delegate = cell.self
cell.fieldGraph.reloadData() //This is where the redrawing happens
spróbować viewDidLayoutSubviews –
Jak rozumiem, 'viewDidLayoutSubviews' to metoda' UITableViewController'. Czy istnieje coś równoznacznego dla 'UITableViewCell'? –