2011-12-21 56 views
1

我正在一個圖表顯示x軸上的日期和y軸上的百分比(1-100)。我已經得到了圖表來顯示我喜歡的方式,但是我想禁止在y方向上滾動和縮放圖形的能力,所以值1-100總是以相同的比例顯示。但是,我無法完全禁用用戶交互,因爲我希望用戶能夠隨着日期數量變大而在x方向上滾動(或者縮放),並觸摸節點以顯示值。核心圖 - 禁用縮放和滾動的y方向,而不是x

我已經能夠在s7graphview中使用這個功能,我之前使用過這個功能,但一直沒有能夠使它與iOS 5一起工作。另外,我從s7中的scrollView獲得的平滑滾動已經很好在Core Plot中有:)

回答

2

最簡單的方法是將plot空間的globalYRange設置爲與yRange相同的範圍。如果您以後需要擴展yRange,請記得先移除globalYRange(將其設置爲零)。

爲了獲得更多控制權,您可以使用繪圖空間委託。實施此方法:

-(CPTPlotRange *)plotSpace:(CPTPlotSpace *)space 
    willChangePlotRangeTo:(CPTPlotRange *)newRange 
      forCoordinate:(CPTCoordinate)coordinate; 

您可以使用此方法修改建議的更改爲繪圖範圍。

+0

這意味着我無法滾動或縮放超出我設置的限制,但仍可以放大y軸,我將防止。 – Jambaman

3
//for stop vertical scrolling 

-(CGPoint)plotSpace:(CPTPlotSpace *)space willDisplaceBy:(CGPoint)displacement{ 
     return CGPointMake(displacement.x,0);} 


-(CPTPlotRange *)plotSpace:(CPTPlotSpace *)space willChangePlotRangeTo:(CPTPlotRange *)newRange forCoordinate:(CPTCoordinate)coordinate{ 
    if (coordinate == CPTCoordinateY) { 
     newRange = ((CPTXYPlotSpace*)space).yRange; 
    } 
    return newRange;} 
+0

這也是可行的... – rakeshNS