SwiftUI программно создает сетку из буквенных плиток - PullRequest
0 голосов
/ 02 августа 2020

Я новичок в SwiftUI и искал способ создать игру с плитками со словами.

У меня есть tileView, и мой contentView добавляет несколько плиток. Моя проблема в том, что я хотел бы программно строить плитки как по вертикали, так и по горизонтали в сетке. Это заставляет меня думать, что H-Stack и V-Stack не подходят для этого использования.

Я бы хотел сделать следующее:

  1. Пользователь нажимает на плитку
  2. Если плитка не имеет плитки непосредственно выше, ниже или рядом с ней, она представит новую плитку для заполнения этих пространств. Следовательно, пользователь может сам построить макет.

Очень наивно, я предполагаю, что для этого я бы проверил, есть ли tileView с координатами непосредственно над нажатой плиткой. Затем, если результат отрицательный, я создаю экземпляр плитки в этом новом пространстве. Но я предполагаю, поскольку это в двух измерениях, это не может быть в H-Stack или V-Stack.

Вот начало моего кода. tileView в основном рисует прямоугольник с персонажем на нем. Это выполняет итерацию по массиву и добавляет плитки в HStack. Проблема здесь в том, что это для горизонтальной компоновки, а не для двух измерений. Я читаю сейчас, что iOS 14 содержит LazyVGrid, и мне интересно, могу ли я использовать это для того, что я хочу. Таким образом, пользователь выбирает любую из этих букв, и непосредственно над и под каждой плиткой появляется другая буква.

...