2020-08-20 09:11发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我已经使用FUIChartFloorplanViewController实现了图表。 我已在图表视图中启用了多点触控,试图在chartView中获取两个选定的点。
请找到附件的屏幕截图。
请使用api/delegate方法帮助我达到要求。
谢谢
Ruchi
解决方案是添加FUIChartViewDelegate,以处理水龙头。 这是一个支持点击处理的完整实现
导入UIKit 导入SAPFiori 类AnalyticFloorplanArea:FUIChartFloorplanViewController { 覆盖func viewDidLoad(){ super.viewDidLoad() self.titleText.text ="每月总收入($)" self.status.text =" 1小时前更新" self.subtitle.text =" 2017" self.chartView.chartType = .area self.chartView.categoryAxis.labelLayoutStyle = .allOrNothing self.chartView.dataSource =自我 self.chartView.delegate =自我 self.valuesAxisTitle.text ="总收入($)" self.categoryAxisTitle.text ="月" self.seriesTitles = chartSeriesTitles()。map {FUIText(stringLiteral:$ 0)} self.summaryView.dataSource =自我 self.summaryView.delegate =自我 self.summaryView.seriesTitleText = chartSeriesTitles()。map {FUIText(stringLiteral:$ 0)} } 让df = DateFormatter() } 扩展AnalyticFloorplanArea:FUIChartSummaryDataSource { func chartView(_ chartView:FUIChartView,summaryItemForCategory categoryIndex:Int)-> FUIChartSummaryItem? { 让item = FUIChartSummaryItem() 让值:[双精度] 切换categoryIndex { 情况1: item.categoryIndex = -1 item.isEnabled =否 值= { var值:[Double] = [] 让seriesCount = chartData()。count 对于i in 0 .. Int { 返回chartData()。count } func chartView(_ chartView:FUIChartView,numberOfValuesInSeries seriesIndex:Int)-> Int { 返回chartData()[seriesIndex] .count } func chartView(_ chartView:FUIChartView,valueForSeries系列:Int,category categoryIndex:Int,维DimensionIndex:Int)-> Double? { 返回chartData()[系列] [类别索引] } func chartView(_ chartView:FUIChartView,formattedStringForValue值:Double,轴:FUIChartAxisId)->字符串? { 返回formattedTitleForDouble(value) } func chartView(_ chartView:FUIChartView,titleForCategory categoryIndex:Int,inSeries seriesIndex:Int)->字符串? { 返回df.standaloneMonthSymbols [categoryIndex] } //MARK:-用于生成和格式化示例数据的辅助方法 func chartSeriesTitles()-> [String] { 返回[" 2016"," 2017"] } func chartData()-> [[Double]] { return [[1.8,2.2,1.1,0.7,1.2,2.3,2.95,1.4,3.5,4.4,4.2,3.1] .map {$ 0 * 100000},[3.3,3.7,3.55,3.7,3.3,3.5,3.5, 3.1,3.4,3.5,3.0,3.6] .map {$ 0 * 100000}] } func formattedTitleForDouble(_ value:Double)->字符串? { 让numberFormatter = NumberFormatter() numberFormatter.numberStyle = .currencyAccounting numberFormatter.maximumFractionDigits = 0 返回numberFormatter.string(从:值作为NSNumber) } } 扩展名AnalyticFloorplanArea:FUIChartViewDelegate { func chartView(_ chartView:FUIChartView,didChangeSelections选择:[FUIChartPlotItem]?){ 打印(selections?.map({$ 0})) } } 扩展AnalyticFloorplanArea { //MARK:实用工具 func trendSemanticColor(用于值:Double,isNegativePoor:Bool = true)-> UIColor? { 让红色= UIColor.preferredFioriColor(forStyle:.negative) 让绿色= UIColor.preferredFioriColor(forStyle:.positive) 切换值{ 情况.. <0: 返回isNegativePoor吗? 红色:绿色 案例0 ...: 返回isNegativePoor吗? 绿色:红色 默认: 返回零 } } func trendIcon(用于值:Double,isNegativePoor:Bool = true)-> UIImage? { 放手= FUIIconLibrary.analytics.trendUp.withRenderingMode(.alwaysTemplate) 失望= FUIIconLibrary.analytics.trendDown.withRenderingMode(.alwaysTemplate) 切换值{ 情况.. <0: 返回isNegativePoor吗? 下:上 案例0 ...: 返回isNegativePoor吗? 上:下 默认: 返回零 } } }
最多设置5个标签!
解决方案是添加FUIChartViewDelegate,以处理水龙头。 这是一个支持点击处理的完整实现
一周热门 更多>