2012-03-28 22 views
1

Ich versuche, eine Streifenfüllung für ein mit CorePlot erstelltes Diagramm festzulegen. Ich habe ein Beispiel im Internet gefunden:CorePlot-Streifen füllen

CPColor *firstStripesColor = [CPColor colorWithComponentRed:1.0 green:1.0 blue:1.0 alpha:0.0]; 
       CPColor *secondStripesColor = [CPColor colorWithComponentRed:1.0 green:1.0 blue:1.0 alpha:0.6]; 
       CPFill *areaStripesFill = [CPFill fillWithFirstColor:firstStripesColor secondColor:secondStripesColor stripeWidth:2]; 
       scatterPlot.areaFill = areaStripesFill; 

Ich denke, dieser Code eine alte Version der CorePlot Bibliothek verwendet (ich verwende 1,0). Ich habe gerade CPColor mit CPTColor und CPFill mit CPTFill geändert, aber keine Methode namens fillWithFirstColor: secondColor: ist vorhanden. Ich möchte eine Füllung wie die in der iPhone Stocks App erstellen.

Irgendeine Idee?

Dank viel

Claus

Antwort

2

Hier ist der Code, der Hintergrund für die Bestände Thema füllen macht:

CPTGradient *stocksBackgroundGradient = [[[CPTGradient alloc] init] autorelease]; 

stocksBackgroundGradient = [stocksBackgroundGradient addColorStop:[CPTColor colorWithComponentRed:0.21569 green:0.28627 blue:0.44706 alpha:1.0] atPosition:0.0]; 
stocksBackgroundGradient = [stocksBackgroundGradient addColorStop:[CPTColor colorWithComponentRed:0.09412 green:0.17255 blue:0.36078 alpha:1.0] atPosition:0.5]; 
stocksBackgroundGradient = [stocksBackgroundGradient addColorStop:[CPTColor colorWithComponentRed:0.05882 green:0.13333 blue:0.33333 alpha:1.0] atPosition:0.5]; 
stocksBackgroundGradient = [stocksBackgroundGradient addColorStop:[CPTColor colorWithComponentRed:0.05882 green:0.13333 blue:0.33333 alpha:1.0] atPosition:1.0]; 
stocksBackgroundGradient.angle = 270.0; 
plotAreaFrame.fill = [CPTFill fillWithGradient:stocksBackgroundGradient]; 
+0

Ist es möglich, das Muster wiederholen zu machen? Z.B. der Gradient jede zweite Einheit und die flache Farbe jede zweite Sekunde haben? – Setomidor

+0

Stellen Sie die 'alternatingBandFills' auf der Achse ein. In der Beispielanwendung "Plot Gallery" finden Sie Beispielcode. –

+1

Danke! Versuchte das, aber es tat nicht ganz das, was ich vorhatte. Ich habe stattdessen ein gekacheltes PNG mit transparentem Element verwendet (wie in einem anderen Thread vorgeschlagen) :) – Setomidor