Ich versuche also, UILabel
in UIButton
stattdessen in eine Instanz von FXLabel
zu ändern. Weitere Informationen finden Sie unter FXLabel
( Ссылка ). Ich weiß, indem ich Klassenerweiterungen ( Unterklasse UIButton, um eine Eigenschaft hinzuzufügen ), ich könnte immer eine andere Eigenschaft hinzufügen, in meinem Fall eine FXLabel
, indem ich einfach nur eine Unteransicht hinzufüge. Ich mag jedoch die Bequemlichkeit und die Eigenschaften der Eigenschaft titleLabel
bereits vorhanden.
Gibt es eine Methode, um das UILabel
für ein FXLabel
nach Unterklasse oder Kategorie zu "wechseln"?
Ich weiß, dass ich das tun könnte, aber es ist so ein Hack und ist nicht zukunftssicher. Und ich weiß nicht, wie man dann den Klassentyp ändert ( Hole UILabel aus UIButton >).
%Vor%Gedanken ?? Danke.
Hier ist eine andere Möglichkeit, wie Sie zumindest auf das Etikett zugreifen können. Erstellen Sie eine Unterklasse von UIButton
und überschreiben Sie in dieser Unterklasse layoutSubviews
. Von dort können Sie direkt auf das Etikett zugreifen:
Jetzt sind wir immer noch mit dem Problem beschäftigt, dieses Label zu einer Unterklasse zu machen. Ich denke, Sie könnten versuchen, die Klasse UILabel
dynamisch mit Ihrer Unterklasse FXLabel
zu tauschen (wie detailliert hier ), aber um ehrlich zu sein, ist das ziemlich riskant.
Ich würde sagen, du bist besser dran, wenn du deine eigene UIControl
erstellst, die du nach Herzenslust anpassen kannst. Kein Risiko, nur reine Güte. Es sollte nicht zu schwer sein, ein einfaches UIButton
zu imitieren. Viel Glück!
Tut mir leid, es zu sagen, aber ich glaube nicht, dass Sie das auf eine zuverlässige Weise tun können. Selbst wenn Sie UIButton
subclassieren und die Methoden titleLabel
überschreiben, müssen Sie auch die Statuseinstellungen bearbeiten. Und Sie wissen nie, wann der interne Code direkt auf einen privaten Ivar für das Label verweist.
Ich habe eine Unterklasse von UIButton für meine Apps erstellt, um etwas Ähnliches zu tun (benutzerdefinierte Schaltflächenlayouts und Unteransichten). Tut mir leid, ich kann es jetzt nicht teilen, es gehört einem Kunden. Es ist nicht allzu schwierig, einen eigenen Statusbehandlungscode für eigene Subviews zu erstellen.
Tags und Links objective-c iphone ios uilabel uibutton