UIPickerView: NSAtributedString ist in iOS 7 nicht verfügbar?

7

Es scheint, dass UIPickerView die Verwendung von NSAttributedString für Elemente der Auswahlliste nicht mehr unterstützt. Kann das jemand bestätigen? Ich habe NS_AVAILABLE_IOS(6_0) in der Datei UIPickerView.h gefunden, aber ist das das Problem? Gibt es einen Weg, oder habe ich kein Glück?

%Vor%     
Rob 22.09.2013, 14:54
quelle

3 Antworten

13

Die einzige Lösung für dieses Problem ist offenbar die Verwendung von pickerView:viewForRow:forComponent:reusingView: und die Rückgabe eines UILabel mit dem attributierten Text, da Apple offenbar die Verwendung von attributierten Strings deaktiviert hat.

    
Rob 22.09.2013, 15:27
quelle
7

Rob hat recht, Bug oder nicht Der einfachste Weg, um attributierten Text in einem UIPickerView in iOS 7 zu erhalten, ist das PickerView: viewForRow: forComponent: reusingView: method zu hacken. Hier ist, was ich getan habe ...

%Vor%

Es sieht auf iOS 7 gut aus, aber in iOS 6 ist der Standardhintergrund weiß, so dass Sie meinen weißen Text nicht sehen können. Ich würde vorschlagen, auf iOS-Version zu prüfen und verschiedene Attribute basierend auf jedem zu implementieren.

    
self.name 30.09.2013 20:16
quelle
4

Hier ist ein Beispiel für die Verwendung von pickerView: viewForRow: forComponent: reusingView: in einer Weise, die die wiederverwerteten Ansichten berücksichtigt.

%Vor%     
Chris 02.09.2014 00:55
quelle