ではありません、私はダニエル・コーエンGindiによってオープンソースCharts
を使用しています:https://github.com/danielgindi/Chartsは、もはや選択
私は上の円グラフを持っていますこのように、それ自体をグラフ私の画面:
//set pie chart data
graphView.data = PieChartData(dataSets: iPieChartDataSet)
さらに私はポップオーバーsimilarly to the accepted answer of this questionを表示する画面上のボタンを持っています。
「私が欲しいもの」 ユーザが画面上UIButton
を押すと、私はポップオーバーを表示したいです。
私はUIButton
を押すと、予想通り 、ポップオーバーが作成され、提示された「とは何の働き」。さらに、私はポップオーバーを作成して閉じ、再作成することができます。
「効果がない」 グラフが画面に存在する場合、ポップオーバーは表示されません。 UIButton
内にprint
というステートメントを使用しようとしましたが、IBAction
は決して解雇されないようです。
その他の情報 他のUIアクションが動作します。私は他のタブにタブすることができ、私は周りのグラフを回ることができます。画面上のグラフが存在する場合、UIButton
は何とかオフになっているようです。
関連するコード:
グラフが作成されている方法@IBAction func informationButtonTapped(_ sender: UIButton) {
var popoverContent = (self.storyboard?.instantiateViewController(withIdentifier: segueIdentifiers.informationPopover))! as UIViewController
var nav = UINavigationController(rootViewController: popoverContent)
nav.modalPresentationStyle = UIModalPresentationStyle.popover
var popover = nav.popoverPresentationController
popoverContent.preferredContentSize = CGSize(width: 500,height: 600)
popover?.delegate = self
popover?.sourceView = self.view
popover?.sourceRect = CGRect(x: 0, y: 0, width: 100, height: 100)
self.present(nav, animated: true, completion: nil)
}
(極力短く):ポップオーバーが作成されている方法
private func setChart(dataPoints: [String?], values: [Double]) {
var dataEntries: [PieChartDataEntry] = []
for i in 0..<dataPoints.count {
let dataEntry = PieChartDataEntry(value: values[i], label: dataPoints[i])
dataEntries.append(dataEntry)
}
let pieChartDataSet = PieChartDataSet(values: dataEntries, label: "")
var iPieChartDataSet: [IChartDataSet] = []
iPieChartDataSet.append(pieChartDataSet)
graphView.animate(xAxisDuration: 1.0, yAxisDuration: 1.0)
graphView.layer.borderWidth = 0.1
//set pie chart data
graphView.data = PieChartData(dataSets: iPieChartDataSet)
}