Перезаписать переход извне в SwiftUIIOS

Программируем под IOS
Ответить
Anonymous
 Перезаписать переход извне в SwiftUI

Сообщение Anonymous »

У меня есть компонент значка со встроенным переходом:

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

public struct BadgeView: View {

...

public var body: some View {
Text(stringValue)
.background(.red)
.clipShape(RoundedRectangle(cornerRadius: sideLength/2.0))
.transition(.scale)
}
}
Теперь у меня есть модификатор представления, который добавляет значок в качестве наложения к некоторому представлению:

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

struct Badge: ViewModifier {

...

func body(content: Content) -> some View {
content
.overlay(alignment: .topLeading) {
BadgeView(value: value)
.offset(x: -size/3.0, y: -size/3.0)
.background(
GeometryReader { geometry in
Color.clear.onAppear {
size = geometry.size
}
.onChange(of: geometry.size) { newValue in
size = newValue
}
}
)
.transition(.scale(scale: 0, anchor: UnitPoint(x: -0.3, y: -0.3)))
}
}
}
Я пытаюсь перезаписать переход, потому что исходный переход перемещается в центр исходного положения, а не смещения значка.
К сожалению, перезапись не имеет никакого эффекта — видимо, SwiftUI использует самый внутренний переход и применяет его. Итак, мне интересно, как для компонента SwiftUI со встроенным переходом я могу перезаписать этот переход извне при использовании этого компонента?

Подробнее здесь: https://stackoverflow.com/questions/783 ... in-swiftui
Ответить

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

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

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

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

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