条形图不适合显示 Iphone
BarChart does not fit on display Iphone
这可能很简单,但我还不习惯Iphone编程和Swift。我只与 Android 合作过。我想在我的应用程序中使用 iosChart。我已经按照 this 教程创建了一个测试条形图。
问题是图表不适合屏幕,而是超出了模拟器的显示范围。情节提要中可能有一些容易修复的东西,但我还没有找到任何东西。
这是它的样子:
x 轴应该延伸到 12 月,但它不可见。
代码如下:
import UIKit
import Charts
class DetailedScoreController: UIViewController {
var results : Results
var months: [String]!
// MARK: Initialization
@IBOutlet weak var detailedChart: BarChartView!
required init?(coder aDecoder: NSCoder) {
self.results = Results()!
super.init(coder: aDecoder)
}
override func viewDidLoad() {
super.viewDidLoad()
print("DetailedResultController Created!");
self.results.printResult()
self.results.printDetailedResults()
months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
let unitsSold = [20.0, 4.0, 6.0, 3.0, 12.0, 16.0, 4.0, 18.0, 2.0, 4.0, 5.0, 4.0]
setChart(months, values: unitsSold)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: Set up barchart
func setChart(dataPoints: [String], values: [Double]) {
var dataEntries: [BarChartDataEntry] = []
for i in 0..<dataPoints.count {
let dataEntry = BarChartDataEntry(value: values[i], xIndex: i)
dataEntries.append(dataEntry)
}
let chartDataSet = BarChartDataSet(yVals: dataEntries, label: "Units Sold")
let chartData = BarChartData(xVals: months, dataSet: chartDataSet)
detailedChart.data = chartData
}
}
这是故事板的样子,标记的是条形图:
对我来说,整个图表似乎都应该显示在显示屏上。
在情节提要中为您的视图添加约束,以使其更改大小以适合屏幕:
About Auto Layout and Layout Constraints
单击您的视图并 select 右下角的图钉以添加约束。
设置上下左右为10,点击'Add constraints'。它现在应该按预期显示整个条形图。
这可能很简单,但我还不习惯Iphone编程和Swift。我只与 Android 合作过。我想在我的应用程序中使用 iosChart。我已经按照 this 教程创建了一个测试条形图。
问题是图表不适合屏幕,而是超出了模拟器的显示范围。情节提要中可能有一些容易修复的东西,但我还没有找到任何东西。
这是它的样子:
x 轴应该延伸到 12 月,但它不可见。
代码如下:
import UIKit
import Charts
class DetailedScoreController: UIViewController {
var results : Results
var months: [String]!
// MARK: Initialization
@IBOutlet weak var detailedChart: BarChartView!
required init?(coder aDecoder: NSCoder) {
self.results = Results()!
super.init(coder: aDecoder)
}
override func viewDidLoad() {
super.viewDidLoad()
print("DetailedResultController Created!");
self.results.printResult()
self.results.printDetailedResults()
months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
let unitsSold = [20.0, 4.0, 6.0, 3.0, 12.0, 16.0, 4.0, 18.0, 2.0, 4.0, 5.0, 4.0]
setChart(months, values: unitsSold)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: Set up barchart
func setChart(dataPoints: [String], values: [Double]) {
var dataEntries: [BarChartDataEntry] = []
for i in 0..<dataPoints.count {
let dataEntry = BarChartDataEntry(value: values[i], xIndex: i)
dataEntries.append(dataEntry)
}
let chartDataSet = BarChartDataSet(yVals: dataEntries, label: "Units Sold")
let chartData = BarChartData(xVals: months, dataSet: chartDataSet)
detailedChart.data = chartData
}
}
这是故事板的样子,标记的是条形图:
对我来说,整个图表似乎都应该显示在显示屏上。
在情节提要中为您的视图添加约束,以使其更改大小以适合屏幕: About Auto Layout and Layout Constraints
单击您的视图并 select 右下角的图钉以添加约束。
设置上下左右为10,点击'Add constraints'。它现在应该按预期显示整个条形图。