2016-04-22 78 views
2

我使用的整個寬度和長度以下charts library並具有以下自定義控件:如何伸展PieChartView父視圖

enter image description here

但圖加載之後我得到了下面的圖片:

enter image description here

很明顯PieChartView的尺寸比輸出圖大。我的問題是如何使最終圖表佔據整個PieChartView?

+0

什麼是超類PieChartView的? – Nishant

+0

你試過設置'contentMode'屬性嗎? – Nishant

+0

你想刪除白色內圈或縮放整個餅圖? – Hasya

回答

1

實測值的溶液中。 在配置PieChartDataSet

let set = PieChartDataSet(...) 
//configuring 

和設定的設置selectionShift零(切片的選擇將被禁用)

set.selectionShift = 0 
0

試試這行代碼是否有幫助..

pieChartView.contentMode = .ScaleAspectFill 
+0

對不起,這並沒有幫助 –

+0

什麼是PieChartView的超類?請添加一些代碼。 – Nishant

0

您可以嘗試

PieChartView.setExtraOffsets(left: -20, top: -20, right: -20, bottom: -20) 

編輯

import UIKit 

class ViewController: UIViewController { 


    @IBOutlet weak var pieChartView: PieChartView! 
    override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    let months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"] 
    let unitsSold = [20.0, 4.0, 6.0, 3.0, 12.0, 16.0] 

    setChart(months, values: unitsSold) 

} 


func setChart(dataPoints: [String], values: [Double]) { 

    var dataEntries: [ChartDataEntry] = [] 

    for i in 0..<dataPoints.count { 
     let dataEntry = ChartDataEntry(value: values[i], xIndex: i) 
     dataEntries.append(dataEntry) 
    } 

    let pieChartDataSet = PieChartDataSet(yVals: dataEntries, label: "Units Sold") 
    let pieChartData = PieChartData(xVals: dataPoints, dataSet: pieChartDataSet) 
    pieChartView.data = pieChartData 

    pieChartView.setExtraOffsets(left: -50, top: -50, right: -50, bottom: -50) 

    var colors: [UIColor] = [] 

    for i in 0..<dataPoints.count { 
     let red = Double(arc4random_uniform(256)) 
     let green = Double(arc4random_uniform(256)) 
     let blue = Double(arc4random_uniform(256)) 

     let color = UIColor(red: CGFloat(red/255), green: CGFloat(green/255), blue: CGFloat(blue/255), alpha: 1) 
     colors.append(color) 
    } 

    pieChartDataSet.colors = colors 


} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 


} 

Download code

帶 - pieChartView.setExtraOffsets (左:-50,上:-50,右:-50,下:-50)

沒有 - pieChartView.setExtraOffsets(left:-50,top:-50,right:-50,bottom: - 50)

請參閱附帶的屏幕截圖。 enter image description here

enter image description here

+0

這並不影響任何東西.. –