Свифтуи диаграмма Barmark Annotation, покрываемые следующими бармарамиIOS

Программируем под IOS
Ответить
Anonymous
 Свифтуи диаграмма Barmark Annotation, покрываемые следующими бармарами

Сообщение Anonymous »

Во -первых, я совершенно новичок в Swiftui. У меня есть проблема с аннотацией бармаров. Аннотация покрыта следующими бармарами. Есть ли способ предотвратить это? < /P>
import Foundation
import SwiftUI
import Charts

struct WaterConsumptionChart: View {

@ObservedObject var viewModel: ConsumptionDataViewModel
@State private var selectedItem: ConsumptionData?
@State private var showTooltip: Bool = false

private var gradientColors = [Color.primarySwiftUI.opacity(0.8),
Color.groheLink.opacity(0.8)]

var body: some View {
VStack {
Chart(viewModel.data) { item in
BarMark(
x: .value("", item.text),
y: .value("consumption", item.consumption ?? 0),
width: .automatic
)
.foregroundStyle(LinearGradient(
gradient: Gradient(colors: gradientColors),
startPoint: .top,
endPoint: .bottom
))
.cornerRadius(4)
.annotation(position: .top, alignment: .center) {
let show = ((selectedItem?.text ?? "") == item.text) && ((item.consumption ?? 0) > 0)
TooltipView(value: "\(selectedItem?.text ?? "") • \(selectedItem?.consumption ?? 0)l")
.opacity(show ? 1 : 0)
.offset(y: -2)
}

if let average = viewModel.average, average > 0 {
RuleMark(y: .value("", average))
.foregroundStyle(.primarySwiftUI)
.lineStyle(.init(lineWidth: 1))
} else {
RuleMark(y: .value("", 0.0))
.foregroundStyle(.primarySwiftUI)
.lineStyle(.init(lineWidth: 0))
}
}
.padding([.leading, .trailing], 16)
.chartXAxis {
AxisMarks(values: .automatic(minimumStride: 3, desiredCount: 7)) { value in
let period = viewModel.period?.period
let modulo = period == .day ? 4 : 5
let entry = Int(value.as(String.self) ?? "") ?? 0

if value.count 0 { UIImpactFeedbackGenerator(style: .light).impactOccurred() }
self.selectedItem = dataItem
} else {
self.selectedItem = nil
}
})
}
}
}
}
}
< /code>
изображение диаграммы < /p>
Я попытался экспериментировать с .zindex (значение: двойное), но, к сожалению, я не мог решить проблему. Мне также нужна совместимость с iOS 16, а .zindex доступен только в iOS 17. У кого -нибудь есть идея?

Подробнее здесь: https://stackoverflow.com/questions/794 ... g-barmarks
Ответить

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

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

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

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

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