Su iOS, è necessario effettuare chiamate API (come setNeedsLayout
o layoutIfNeeded
) dopo aver modificato la costante di un vincolo a livello di codice? Nel mio caso d'uso, non sono interessato ad animare il cambiamento. Credo che ci siano alcuni bug (ad es .: this one) in cui chiamare queste funzioni è una soluzione alternativa. Ma a parte questo caso limite non ho avuto bisogno di chiamarli nel mio codice. Funziona per caso o esiste una fonte definitiva che menziona cosa fare quando si cambiano le costanti dei vincoli?setNeedsLayout o layoutIfNecessario necessario dopo aver modificato la costante di vincolo?
Un paio di risposte SO (here e here) dicono che l'impostazione della costante dovrebbe essere sufficiente, ma senza alcun riferimento supplying.
La Guida al layout automatico di Apple per iOS non menziona nulla a riguardo tranne in un animation block. Il Cocoa Auto Layout Release Notes dice che chiamare setNeedsLayout
non è necessario se non si sostituisce anche layout
nella visualizzazione personalizzata. Tuttavia, quel documento sembra piuttosto specifico per OSX.
Purtroppo non sono riuscito a trovare questa informazione nella Gazzetta documentazione ancora. – fabb