使用BalloonMarker 的注意點

![Uploading Snip20171027_5_914744.png . . .]

官方Demo中BalloonMarker 是swift中寫,而我的項目中是用OC 寫的,所以就得混編了,混編的 swift 其實全部都在一個不可見的 h 文件里面,你只需要 #import "你項目的名字-swift.h"這個文件就可以了,所有混編的 swift 都會在這里聲明,不過你需要先編譯一次才會在里面可以找到。
但得注意了,但如果你的項目中之前沒有混編過swift ,pod的不算,那么如果你直接把BalloonMarker 文件直接拖進(jìn)去項目,雖然編譯器也會創(chuàng)建橋接文件,但編譯器是不會默認(rèn)自動創(chuàng)建-swift.h,你是無法引用BalloonMarker的這種swift文件,
可以檢查你的項目是否自動了swift文件 ,在build Settings 搜索header name 中結(jié)果中看到在Swift Complier -General 中看到 -Swift.h 文件說明你的項目已經(jīng)創(chuàng)建

Snip20171027_5.png

如果沒有這個文件,那么你可以這樣做:
1.創(chuàng)建一個新的文件Swift.swift

20161102150312661.jpeg
20161102150747684.jpeg

2.確認(rèn)后會選擇保存路徑,點擊Create Bridging Header,出現(xiàn)如下界面


20161102150841357.jpeg

3.這樣就會生成bridging header 文件


20161102151017413-2.jpeg

4.這樣編譯器就會自動創(chuàng)建-swift.h,你就可以在在你要是使用的文件導(dǎo)入-swift.h 文件,就可以使用BalloonMarker

  BalloonMarker *marker = [[BalloonMarker alloc]
                                 initWithColor: [UIColor colorWithWhite:0/255. alpha:0.7]
                                 font: [UIFont systemFontOfSize:9.0]
                                 textColor: UIColor.whiteColor
                                 insets: UIEdgeInsetsMake(0, 0, 0, 0)];
        marker.chartView = _LineChartView;
        marker.arrowSize = CGSizeMake(10, 10);
        marker.color = [UIColor colorWithHexString:@"e86258"];
        marker.minimumSize = CGSizeMake(80.f, 30.f);
        marker.charViewSize = _LineChartView.size;
        _LineChartView.marker = marker;

5.就像上面的事例,是下面的方法里面用QuartzCore畫自己所需要的泡泡,

open override func draw(context: CGContext, point: CGPoint)
{

}

6.在下面的方法傳數(shù)據(jù)進(jìn)去

NSMutableDictionary *popupTip = [NSMutableDictionary dictionary];
        popupTip[@"date"] = model.billDate;
        popupTip[@"yStr"] = [NSString stringWithFormat:@"%ld",yVal];
        
ChartDataEntry *entry = [[ChartDataEntry alloc] initWithX:i y:yVal data:popupTip];// 傳入data,是字典類型

7.在這個方法里面獲取得到自己傳入的數(shù)據(jù),設(shè)置文字的顯示

 open override func refreshContent(entry: ChartDataEntry, highlight: Highlight)
    {
        let data = entry.data as? Dictionary<String, String>
        let yStr = data?["yStr"]
        let dateStr = data?["date"]
        setLabel(String("\(dateStr!)  \(yStr!)"))
    }

8.只要用點心,慢慢調(diào)就能調(diào)出來你想要的漂亮的圖,charts是很強大的

23.gif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,052評論 4 61
  • 程序設(shè)計師就是針對客戶的需要,對程序進(jìn)行功能和個性化設(shè)計的設(shè)計人員,而程序設(shè)計是給出解決特定問題程序的過程,包括分...
    一只流浪喵閱讀 609評論 0 0

友情鏈接更多精彩內(nèi)容