Ich habe versucht, dies auf SO zu suchen, aber kein Glück, etwas zu finden, das für meine Situation funktioniert.Wie bekomme ich die Position einer Unteransicht einer Tabellenansicht, bevor sie angezeigt wird?
Hier meine Hierarchie ist und was ich versuche zu tun:
// -> view
// -> -> myLabel //I'd like to have this match center.x with...
// -> -> tableView
// -> -> -> tableViewCell
// -> -> -> -> UIStackView
// -> -> -> -> -> mySwitch //...this, before everything appears
Vorschläge, wie dies zu erreichen? Alle Hilfe wird sehr geschätzt. Vielen Dank!
EDIT: Dieser Code funktioniert auf die Positionierung, aber nicht ausgeführt, bevor es angezeigt wird. Es läuft, wenn eine Zelle erhalten geladen/wiederverwendet hat, so scheint es, zuerst an der falschen Stelle:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if let cell = tableView.dequeueReusableCellWithIdentifier("myCell") as? myCell {
cell.configureCell(myArray[indexPath.row])
let centerPoint = cell.mySwitch.convertPoint(cell.mySwitch.center, toView: self.view)
myLabel.center.x = centerPoint.x - (myLabel.frame.width/2)
return cell
} else {
return myCell()
}
}
Ja, es ist in myCell.swift programmiert (der Controller für die TableViewCell-Unterklasse, die ich verwende) –
Kennen Sie die Position des Schalters in der Zelle? – APesate
Ja, tut mir leid, ich habe vergessen zu erwähnen: Ich war in der Lage, die globale Position des Switches zu bekommen, aber ich weiß nicht, wo der Code implementiert werden soll, der die Position des Labels ändert, bevor es erscheint. Ich werde meine Frage mit dem Code aktualisieren, den ich gefunden habe, und die Stapelansicht, die ich in der Hierarchie weggelassen habe, nur für den Fall –