Swiftui: MatchEdgeMetryEffect и Animation Animation ClipshapeIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Swiftui: MatchEdgeMetryEffect и Animation Animation Clipshape

Сообщение Anonymous »

Скажите, что у меня есть представление о контейнере, которое я использую для применения последовательного стиля к различным содержащимся представлениям. < /p>

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

struct FormattedContainer: View {
let content: Content

init(@ViewBuilder content: () -> Content) {
self.content = content()
}

var body: some View {
content
.padding()
.background(Color.gray.opacity(0.2))
}
}
Я использую его, чтобы приложить пару представлений, которые используют MatchedededyEffect , чтобы анимировать из одного контейнера в другой.

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

struct ContentView: View {
@Namespace var animation
@State var isFlipped: Bool = false

var body: some View {
VStack {
FormattedContainer {
HStack {
Rectangle()
if isFlipped {
Text("This is the active container")
.layoutPriority(1)
.matchedGeometryEffect(id: "id", in: animation)
}
}
}
Spacer(minLength: 40)
FormattedContainer {
HStack{
if !isFlipped {
Text("This is the active container")
.layoutPriority(1)
.matchedGeometryEffect(id: "id", in: animation)
}
Rectangle()
}
}
}
.contentShape(Rectangle())
.padding()
.onTapGesture {
withAnimation {
isFlipped.toggle()
}
}
}
}
Это работает хорошо и выглядит так:

Если я добавляю форму клипа в мой контейнер, чтобы дать ему округлые углы: p> p>

, если я добавляю форму клипа в мой контейнер, чтобы дать ему округлые углы:

.

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

struct FormattedContainer: View {
let content: Content

init(@ViewBuilder content: () -> Content) {
self.content = content()
}

var body: some View {
content
.padding()
.background(Color.gray.opacity(0.2))
.clipShape(RoundedRectangle(cornerRadius: 20))  

Подробнее здесь: [url]https://stackoverflow.com/questions/79537711/swiftui-matchedgeometryeffect-and-clipshape-animation-bug[/url]
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как использовать .matchedgeMetryEffect в ScrollView, но поддерживайте положение прокрутки
    Anonymous » » в форуме IOS
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • CSS Animation-Iteration-Count портит режим Animation-fill-mode [закрыто]
    Anonymous » » в форуме CSS
    0 Ответы
    73 Просмотры
    Последнее сообщение Anonymous
  • Swiftui Liquid Animation
    Anonymous » » в форуме IOS
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Swiftui Liquid Animation
    Anonymous » » в форуме IOS
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Как обойти ошибку платформы Mac Catalyst, из-за которой в сеансе экспорта не отображается вывод Core Animation?
    Anonymous » » в форуме IOS
    0 Ответы
    117 Просмотры
    Последнее сообщение Anonymous

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