黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

如何定制Core Plot主題

系統(tǒng) 2089 0

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

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

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

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

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

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

通過傳遞進(jìn)來的 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

{

// 終點(diǎn)色: 20 %的灰度

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

// 創(chuàng)建一個漸變區(qū):起點(diǎn)、終點(diǎn)都是 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元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論