So habe ich eine vertikale Stapelansicht in einem einfachen Layout. Wenn ich eine Ansicht über den Interface Builder hinzufüge, sehe ich in der Ansicht in der Stapelansicht keine Probleme.Programmgesteuertes Hinzufügen von Ansichten zu vertikaler Stapelansicht bricht Einschränkungen der vertikalen Stapelansicht auf
Als ich dann Blick auf die UIStackView hinzufügen programmatisch bricht es die Zwänge und die hinzugefügten Ansichten am oberen Rand des Fensters angezeigt. Ich bin verwirrt, warum es die Beschränkungen der Stapelansicht brechen würde.
func buildCats(theJson:JSON){
//self.verticalStack.subviews.forEach({ $0.removeFromSuperview() })
print(theJson)
if let infos = self.swiftyJsonvar["info"].array{
for info in infos{
guard let v = UINib(nibName: "ticketOrderView", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as? UIView else { return }
v.translatesAutoresizingMaskIntoConstraints = false
self.verticalStack.addArrangedSubview(v)
}
}
}
Ich denke, es liegt wahrscheinlich daran, dass Sie das automatische Layout für die Ansichten mit dieser Zeile deaktivieren: 'v.translateAutoresizingMaskIntoConstraints = false'. Obwohl die Stapelansicht ein automatisches Layout hat, haben die neuen Ansichten keine –
Ich habe kein Auto-Layout auf den Ansichten, die ich über IB eingegeben habe. Es ist nur von der Stackview betreut. Ich habe diese Zeile entfernt und auch versucht, sie auf TRUE zu setzen und jedes Mal dasselbe Verhalten zu erhalten. – BostonMacOSX
Gibt es einen bestimmten Grund, warum Sie keine Tabellenansicht dafür verwenden? Sie könnten einfach eine Tabellenzelle mit eigenen Einschränkungen entwerfen –