Swiftui TVOS LazyVgrid Focus Навигация. Проблема: не могу двигаться вниз, когда не будет прямого ниже элементаIOS

Программируем под IOS
Anonymous
Swiftui TVOS LazyVgrid Focus Навигация. Проблема: не могу двигаться вниз, когда не будет прямого ниже элемента

Сообщение Anonymous »

Я строю приложение Swiftui TVOS с LazyVgrid с использованием. Адаптивные (минимум: 300) столбцы. Фокус поведения отлично подходит для большинства элементов, но когда элемент (например, Item-9) не имеет другого элемента непосредственно под ним, движение нисходящего застряло. < /P>
Вот пример моего пользовательского интерфейса: < /p>
Текущий фокус: элемент-9 (выделен в красный цвет)
Цель. остается застрявшим на Item-9 вместо того, чтобы двигаться вниз.struct AdaptiveLazyHGridView: View {
let items = Array(1...22)
var adaptiveColumns = [GridItem(.adaptive(minimum: 300.0), spacing: 10)]

var body: some View {
VStack{
ScrollView(.vertical) {
LazyVGrid(columns: adaptiveColumns) {
ForEach(0 ..< 13) { item in
Button(action: {

}) {
ZStack{
FocusableRectangle()
Text("item - \(item)")
}
}.buttonStyle(CardButtonStyle())
}
}.padding(40)
}
}
}
}
< /code>
struct FocusableRectangle: View {
@Environment(\.isFocused) var isFocused: Bool
@State var color = Color.blue

var body: some View {
Rectangle()
.fill(color)
.frame(width: 300.0, height: 200.0)
.onChange(of: isFocused) {
color = isFocused ? Color.red : Color.blue
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/795 ... -direct-be

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