我正在用標籤,表格和圖表創建PDF。我沒有問題繪製圖像和文字,但我有自定義的PDF圖表UIViews
。如何轉換單個UIView,以便可以在現有的PDF中繪製它?
當前上下文首先設置爲繪製PDF,並且這裏的大多數問題都與此有關。但是我說的是,一旦你已經在繪製一個PDF,你如何添加一個額外的視圖,就像你會添加一行文本或圖像一樣。即我想添加一個包含餅圖的UIView
到我正在創建的PDF中。
我試圖將視圖轉換爲圖像,但它的分辨率相當低,您可以播種像素化,而如果直接繪製它,它會使用矢量圖形,並且出來更加清晰。
PieChartView來自一個開源的github庫。經理是我寫的一個簡單的自定義類來管理它。
CGRect frame = CGRectMake(PAGE_WIDTH/2 - pieWidth/2, origin.y, pieWidth, pieHeight);
PieChartView* pie = [[PieChartView alloc] initWithFrame:frame];
PieChartManager* pieManager = [[BPPieChartManager alloc] initWithData:data];
pie.delegate = pieManager;
pie.datasource = pieManager;
[pie.layer drawInContext:UIGraphicsGetCurrentContext()];
這會導致餅圖填充整個PDF頁面。這並不奇怪,因爲它的圖層不包含有關框架的信息。
我想我應該使用CGContextTranslateCTM
和CGContextScaleCTM
重新定位,但我不確定是否沒有更簡單的方法,再加上我不知道如何使用它們來獲得我想要的。
感謝您的幫助
編輯:我嘗試了畫大餅是這樣的:
[pie drawRect: frame];
,吸引餡餅在頁面的左上角,在那的預期大小。我如何得到它我想要的地方?框架包含我想要的地方的起源,那爲什麼它把它放在左上角?