日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

如何定制Core Plot主題

系統(tǒng) 1959 0

CorePlot主題是一個CPTheme子類。CPTheme提供了一系列方法,你可以覆蓋其中3個方法 從而實現(xiàn)自定義的主題:

1、 -( void )applyThemeToBackground:( CPGraph *)graph;

通過傳遞進來的 CPGraph參數(shù),設(shè)置背景CPGraph

2、 -( void )applyThemeToPlotArea:( CPPlotAreaFrame *)plotAreaFrame;

通過傳遞進來的 CPPlotArea參數(shù),設(shè)置PlotArea風(fēng)格

3、 -( void )applyThemeToAxisSet:( CPAxisSet *)axisSet;

通過傳遞進來的 CPAxisSet參數(shù),設(shè)置坐標(biāo)系風(fēng)格

下面是一個 CPTheme子類的例子:

一、 .h文件

.h文件很簡單,申明父類為CPTheme:

#import <Foundation/Foundation.h>

#import <CorePlot/CorePlot.h>

@interface MyCPTheme : CPXYTheme {

}

@end

二、 .m文件

1、首先我們來為背景設(shè)置一個自定義顏色漸變:

-( void )applyThemeToBackground:( CPXYGraph *)graph

{

// 終點色: 20 %的灰度

CPColor *endColor = [ CPColor colorWithGenericGray : 0.2f ];

// 創(chuàng)建一個漸變區(qū):起點、終點都是 0.2 的灰度

CPGradient *graphGradient = [ CPGradient gradientWithBeginningColor :endColor endingColor :endColor];

// 設(shè)置中間漸變色 1 ,位置在 30 %處,顏色為 3 0 %的灰

graphGradient = [graphGradient addColorStop :[ CPColor colorWithGenericGray : 0.3f ] atPosition : 0.3f ];

// 設(shè)置中間漸變色 2 ,位置在 50 %處,顏色為 5 0 %的灰

graphGradient = [graphGradient addColorStop :[ CPColor colorWithGenericGray : 0.5f ] atPosition : 0.5f ];

// 設(shè)置中間漸變色 3 ,位置在 60 %處,顏色為 3 0 %的灰

graphGradient = [graphGradient addColorStop :[ CPColor colorWithGenericGray : 0.3f ] atPosition : 0.6f ];

// 漸變角度:垂直 90 度(逆時針)

graphGradient. angle = 90.0f ;

// 漸變填充

graph. fill = [ CPFill fillWithGradient :graphGradient];

}

2、在坐標(biāo)軸上畫上網(wǎng)格線:

// Y 軸上添加平行線

-( void )applyThemeToAxisSet:( CPXYAxisSet *)axisSet {

// 設(shè)置網(wǎng)格線線型

CPLineStyle *majorGridLineStyle = [ CPLineStyle lineStyle ];

majorGridLineStyle. lineWidth = 1.0f ;

majorGridLineStyle. lineColor = [ CPColor lightGrayColor ];

CPXYAxis *axis=axisSet. yAxis ;

// 軸標(biāo)簽方向: CPSignNone -無,同 CPSignNegative CPSignPositive -反向 , y 軸的右邊, CPSignNegative -正向,在 y 軸的左邊

axis. tickDirection = CPSignNegative ;

// 設(shè)置平行線,默認(rèn)是以大刻度線為平行線位置

axis. majorGridLineStyle = majorGridLineStyle ;

// 如果 labelingPolicy 設(shè)置為 CPAxisLabelingPolicyNone majorGridLineStyle 將不起作用

//axis.labelingPolicy = CPAxisLabelingPolicyNone ;

}

3、設(shè)置繪圖區(qū)

下面的代碼在繪圖區(qū)( PlotArea)填充一個灰色漸變。注意由于繪圖區(qū)(PlotArea)位于背景圖(Graph)的上層(參考 Core Plot 框架的類層次圖 ),因此對于繪圖區(qū)所做的設(shè)置會覆蓋對 Graph 所做的設(shè)置,除非你故意在 Graph 4 邊留白,否則看不到背景圖的設(shè)置。

-( void )applyThemeToPlotArea:( CPPlotAreaFrame *)plotAreaFrame

{

// 創(chuàng)建一個 20 -50 %的灰色漸變區(qū),用于設(shè)置繪圖區(qū)。

CPGradient *gradient = [ CPGradient gradientWithBeginningColor :[ CPColor colorWithGenericGray : 0.2f ] endingColor :[ CPColor colorWithGenericGray : 0.7f ]];

gradient. angle = 45.0f ;

// 漸變填充

plotAreaFrame. fill = [ CPFill fillWithGradient :gradient];

}

三、應(yīng)用主題

很簡單,將 CPTheme替換成我們自己的主題,并應(yīng)用到CPGraph:

#import "MyCPTheme.h"

??

CPTheme *theme=[[ MyCPTheme alloc ] init ];

[ graph applyTheme :theme];

來看看效果:

如何定制Core Plot主題

如何定制Core Plot主題

如何定制Core Plot主題

如何定制Core Plot主題


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 清水河县| 永济市| 年辖:市辖区| 绍兴市| 陵川县| 宜黄县| 梁山县| 大名县| 安陆市| 石城县| 景洪市| 漳浦县| 汝阳县| 高雄市| 曲周县| 措美县| 增城市| 六安市| 敦化市| 鲁山县| 新龙县| 葫芦岛市| 黎平县| 宁安市| 密云县| 淮阳县| 青海省| 武安市| 汾西县| 沛县| 贺兰县| 永定县| 文成县| 梁平县| 武穴市| 济源市| 大石桥市| 沙田区| 绥滨县| 红原县| 苍梧县|