SwiftUI IOS 26 — кнопка меню перемещается за пределы контейнера во время анимации выбораIOS

Программируем под IOS
Ответить
Anonymous
 SwiftUI IOS 26 — кнопка меню перемещается за пределы контейнера во время анимации выбора

Сообщение Anonymous »

Даже не знаю, как это объяснить...

В iOS 26 в прокручиваемом представлении, содержащем меню, если я начну прокручивать представление до того, как завершится анимация выбора меню (примерно в течение примерно 1 секунды после нажатия на параметр), значок меню временно смещается: он смещается относительно своего контейнера и кажется «плавающим» за пределами макета. После завершения анимации или остановки прокрутки она возвращается обратно, но во время взаимодействия кнопка заметно отделяется от контейнера/выравнивания.
Это не ожидаемое поведение, верно?? Это происходит в каждом меню моего проекта, даже в меню, используемом на панели инструментов листа, при перетаскивании листа после выбора возникает та же проблема. Я приложил несколько картинок в разных случаях.
Изображение

Изображение

Пример для тестирования:
import SwiftUI

struct ContentView: View {
private let items = (1...30).map { "Item \($0)" }

var body: some View {
NavigationStack {
ScrollView {
LazyVStack(alignment: .leading, spacing: 12, pinnedViews: []) {
HStack {
Text("Scrollable header")
.font(.headline)

Spacer()

Menu {
Button("Option 1") {
// handle option 1
}
Button("Option 2") {
// handle option 2
}
} label: {
Image(systemName: "ellipsis.circle")
.imageScale(.large)
.padding(8)
}
.menuStyle(.button)
.buttonStyle(.plain)
.accessibilityLabel("More options")
}
.padding(.horizontal)
.padding(.top, 8)

ForEach(items, id: \.self) { item in
Text(item)
.frame(maxWidth: .infinity, alignment: .leading)
.padding(.horizontal)
.padding(.vertical, 12)
.background(.background)
.overlay(alignment: .bottom) {
Divider()
}
}
}
}
.navigationTitle("Items")
.background(Color(.systemGroupedBackground))
}
}
}

#Preview {
ContentView()
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... tion-anima
Ответить

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

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

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

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

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