Можно ли создать компонент View, который возвращает только ChartContent?IOS

Программируем под IOS
Ответить
Anonymous
 Можно ли создать компонент View, который возвращает только ChartContent?

Сообщение Anonymous »

У меня есть сложная диаграмма, которая может отображать множество графиков в разных стилях, и я работаю над абстрагированием этих вариантов в отдельный компонент представления. Один из таких примеров:

Код: Выделить всё

import SwiftUI
import Charts

struct ExerciseChartPlot: View {

// Public Variables
let isLineChart: Bool
let xLabel: String
let yLabel: String
let calendarUnit: Calendar.Component
let date: Date
let value: Double

// Body
var body: some View {
if isLineChart {
LineMark(x: .value(xLabel, date, unit: calendarUnit), y: .value(yLabel, value))
.foregroundStyle(Color._green)
.symbol(.circle)
AreaMark(x: .value(xLabel, date, unit: calendarUnit), y: .value(yLabel, value))
.foregroundStyle(LinearGradient(colors: [._green.opacity(0.2), .clear], startPoint: .top, endPoint: .bottom))
} else {
BarMark(x: .value(xLabel, date, unit: calendarUnit), y: .value(yLabel, value))
.foregroundStyle(Color._green.gradient)
}
}
}
Но это приводит к ошибке: «Статический метод buildExpression требует, чтобы некоторый ChartContent соответствовал представлению»
Я предполагаю, что это из-за того, что я возвращаю компоненты, не помещая их в диаграмму. Я хотел бы сохранить компонент Chart на «более высоком уровне» в дереве пользовательского интерфейса, и чтобы эти более мелкие компоненты возвращали только те элементы диаграммы, которые необходимо визуализировать внутри него.
Есть можно ли как-то этого добиться?

Подробнее здесь: https://stackoverflow.com/questions/787 ... artcontent
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»