Hat jemand arbeitete heraus, wie manuell Etiketten in einem Core-Plot (iPhone) Graph hinzufügen?

StackOverflow https://stackoverflow.com/questions/1385286

Frage

Ich habe eine einfach Graph Bar für meine iPhone-Anwendung erstellt aber ich mag die x-Achsenbeschriftungen manuell hinzuzufügen. Hat jemand arbeitet, einen Ausweg, dies zu tun?

Ich fand die CPXYAxisSet.xAxis.axisLabels Eigenschaft jedoch, wenn ich einen NSSet erstellen und zuweisen mit:

axisSet.xAxis.axisLabelingPolicy = CPAxisLabelingPolicyNone;
NSSet *labels = [[NSSet alloc] initWithObjects:@"year 1", @"year 2" @"year 3", nil];
axisSet.xAxis.axisLabels = labels;

Ich bekomme ein:

*** Terminating app due to uncaught exception 'CALayerInvalid', reason: 'expecting model layer not copy: year 1'

Fehler.

Wer eine Lösung?

Vielen Dank.

War es hilfreich?

Lösung

Ich glaube, das adressiert worden die Core-Plot-Mailingliste . Die axisLabels Eigenschaft in einem Satz von CPAxisLabel nimmt Objekte (einen Nachkommen von CALayer), nicht NSStrings, weshalb Sie die oben genannte Ausnahme sind immer.

ein CPAxisLabel für jedes Ihrer benutzerdefinierten Etiketten zu erstellen, verwenden Sie Code ähnlich dem folgenden:

CPAxisLabel *newLabel = [[CPAxisLabel alloc] initWithText: customText]; 
newLabel.tickLocation = [tickLocation decimalValue]; 
newLabel.textStyle = x.axisLabelTextStyle; 
newLabel.offset = x.axisLabelOffset + x.majorTickLength; 

EDIT (2010.01.18). Ein Beispiel dafür ist jetzt in der Core-Plot iPhone Testanwendung unter dem Balkendiagramm Registerkarte

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top