2016-02-11 62 views
0

UIViewController(想象一下iPad風景佈局),我顯示了3個圖表(一個在另一個旁邊),每個圖標都有一個甜甜圈系列,他們的圖例顯示在底部中間位於情節區域之外,包含圖表的視圖的大小相同。ShinobiCharts - 甜甜圈系列情節區域

每個圖表顯示了多達5個值,因此,當它們具有相同數量的值的所有的甜甜圈傳說出現完全相互對準。

的問題是,當圖表中的一個具有更少的值,則說明需要較小的垂直空間,因此使環形出現比其他低。

有沒有辦法將繪圖區固定在一定的大小?我的目標是讓所有的甜甜圈和傳說似乎對齊,無論每個系列的價值數量如何。

謝謝!

回答

0

從MrAPolk答案開始,我設法實現瞭解決我的問題的方案。

這是我遵循的步驟:

  1. 在Interface Builder中,對於每一個我的圖表,我畫圖表容器UIView與足夠的尺寸只包含甜甜圈;然後我畫了另一個UIView作爲圖例容器放置在圖表容器下。
  2. 在圖表設置中,我將圖例設置爲我的需要,並將其設置爲隱藏chart.legend.hidden = YES;)。
  3. 我實現了SChartDelegate方法sChartRenderFinished:做這樣的事情:

    - (void)sChartRenderFinished:(ShinobiChart *)chart { 
        SChartLegend *legend = chart.legend; 
        [legend removeFromSuperview]; 
        legend.hidden = NO; 
        legend.frame = legendContainer.bounds; //legendContainer is the UIView defined in IB 
        [legendContainer addSubview:legend]; 
        [legend setNeedsDisplay]; 
    } 
    

MrAPolk的回答實際上並沒有解決我的問題,但它閃閃發光這種解決方案,所以我想給他如果+1我可以。

1

免責聲明我在忍控件的開發人員。

如果你提供你的傳奇與框架圖表不會調整其大小的畫布,以適應這兩個圖表的框架內的傳奇人物和帆布。

這意味着您要和圖表不會調整其大小的畫布因傳說的大小,你可以定位你的傳奇。

這可能意味着您需要給圖表一個較小的初始框架,以便您可以將圖例置於圖表旁邊。

如果您有任何問題,請隨時取得聯繫!

親切的問候, 安德魯波金霍恩。

+0

謝謝,安德魯。 我試圖實現您的建議,但我無法使其工作。我不斷收到這個錯誤: 'SChartLegend at%p:指定的圖例高度是太小而不適合系列的數量/佈局。嘗試增加maxSeriesPerLine或增加本身的圖例高度。' 我錯過了什麼? 再次感謝。 –