Ändere die Textfarbe von UISegmentedControl

8

Ich bin neu auf Ziel c, muss die Textfarbe des ausgewählten Segments in UIsegmentControl ändern. Benutzt folgenden Code.

%Vor%

es ändert Segmentfarbe. Hilfe mich bitte ..

    
iAppDeveloper 27.10.2012, 04:38
quelle

6 Antworten

38

Es gibt keine Möglichkeit, die benutzerdefinierte Farbe des ausgewählten Segmenttitels in UISegmentedControl festzulegen. Der UIControlState in forState: wird verwendet, um die Attribute des Segmenttextes für den normalen und ausgewählten Status festzulegen.

Aus Ihrem Code:

%Vor%

Probieren Sie diesen Code:

%Vor%

Ersetzen Sie segmnt_cntrl durch Ihr Objekt von Segment Cotrol. Probieren Sie es aus, es könnte Ihnen helfen, Ihr über alles Ziel zu erreichen.

Danke

    
Harjot Singh 27.10.2012, 06:16
quelle
18

Wenn Sie die Textfarbe des markierten Segments in iOS 7 ändern müssen, ist hier eine Lösung (dauerte eine Weile, bis ich gefunden habe, aber danke an diesen Beitrag ):

%Vor%     
i-- 31.01.2014 16:16
quelle
2

Es gibt keine Standard-API, um die Textattribute eines einzelnen Segments in einem UISegmentedControl festzulegen. Sie können den unkorrigierten Ansatz ausführen, in die Ansichtshierarchie des segmentierten Steuerelements zu graben, das gewünschte UILabel (falls vorhanden) zu suchen und die Attribute dieses Labels festzulegen. Ein besserer Ansatz besteht darin, ein benutzerdefiniertes Steuerelement zu finden (oder zu schreiben), das ein UISegmentedControl emuliert und die Anpassung eines einzelnen Segments auf die von Ihnen benötigte Weise ermöglicht.

Bearbeiten:

Eigentlich habe ich das aus der falschen Perspektive betrachtet. Meine Antwort basierte auf dem Versuch, Attribute für einen bestimmten Segmentindex festzulegen. Dies kann jedoch erreicht werden, indem die Textattribute für den UIControlStateSelected -Zustand gesetzt werden. Entschuldigung für die Verwirrung.

    
rmaddy 27.10.2012 05:06
quelle
2

Mit Verweisen auf @ i-- Antwort

Für Swift:

%Vor%     
Babul Prabhakar 06.08.2016 18:35
quelle
0

Aktualisiert @Babul Prabhakars Antwort für Swift 3, weil sich ungefähr ein halbes Dutzend kleiner Dinge geändert haben:

%Vor%     
Echelon 04.03.2017 19:18
quelle
0

Sie können HMSegmentedControl für alle Arten von Tricks und Leckerbissen verwenden.

Das Ändern der Schriftart mit HMsegementedController ist zu einfach. Fügen Sie in der Funktion zum Festlegen von HMSegmentedController ein Wörterbuch hinzu, das Attribute beschreibt, und übergeben Sie es an die Eigenschaft selectedTitleTextAttributes . Beispielcode ist unten angegeben.

%Vor%

Die Verwendung dieser ausgewählten Registerkarte wird mit schwarzer Farbe hervorgehoben.

    
Iraniya Naynesh 17.03.2017 10:28
quelle

Tags und Links