Wenn ich versuche, die SnapKit-Einschränkung direkt nach der Einschränkung zu aktualisieren, erhalte ich einen Fehler Updated constraint could not find existing matching constraint to update
. Der Code, den ich verwende, ist unten:Update-Einschränkung funktioniert nicht auf UITableView-Snapkit
let directionList = UITableView()
directionList.delegate = self
directionList.dataSource = self
directionList.tag = DIRECTIONS_TABLE_TAG
self.view.addSubview(directionList)
directionList.snp.makeConstraints{ (make) -> Void in
make.width.equalToSuperview()
make.top.equalTo(self.view.snp.bottom)
make.left.equalToSuperview()
make.right.equalToSuperview()
make.bottom.equalToSuperview().offset(-20)
}
directionList.snp.updateConstraints { (make) -> Void in
make.top.equalTo(self.topDarkBlue.snp.bottom)
}
Was meinst du nur die Konstante? Ich verwende die updateConstraints in einem 'UIView.animate', also muss ich es als updateConstraints behalten. – SmedleyDSlap
die konstante Eigenschaft von NSLayoutConstraint. Ich sehe nicht, warum Sie makeConstraints nicht für UIView.animate verwenden können; obwohl mir unklar ist, ob der Aufruf von makeConstraints layoutIfNeeded aufruft. Wenn nicht, rufe make constrains zuerst auf und lege einfach self.view.layoutIfNeeded in den Animationsblock, um die automatische Neuberechnung und den Framewechsel auszulösen. –