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
Ответить

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

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

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

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

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