2016-04-22 45 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

这并不影响任何东西.. –