Ausgabe
contentEdgeInsets
war in iOS 15 veraltet, jetzt verwende ich self.configuration.contentInsets
, um die Polsterung der Schaltfläche festzulegen. Aber nachdem ich die Konfiguration abgeschlossen habe, muss ich immer noch anrufen self.configuration.contentInsets.top/bottom/leading/trailing
, um die zu berechnen intrinsicContentSize
, aber es ist immer return 0
. Das self.contentEdgeInsets.left/right/top/bottom
funktioniert gut, aber ich möchte es nicht verwenden, da es bereits veraltet ist. Gibt es eine andere Lösung?
Lösung
Jetzt verwende ich
self.configuration.contentInsets
, um die Polsterung der Schaltfläche festzulegen.
Sie können die Konfiguration nicht über den Eigenschaftswert (einen Zeiger) ändern, den a UIButton
bereits enthält. Stattdessen sollten Sie eine Setter-Methode auslösen, indem Sie die configuration
gesamte Einstellungseigenschaft verwenden:
UIButtonConfiguration *config = _mButton.configuration;
config.contentInsets = NSDirectionalEdgeInsetsMake(10, 10, 10, 10);
_mButton.configuration = config;
Beantwortet von – The Dreams Wind
Antwort geprüft von – Mildred Charles (FixError Admin)