iOS Как мне реализовать перетаскивание пользовательских фигур в сетке? - PullRequest
0 голосов
/ 21 сентября 2018

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

enter image description here

У меня есть сетка 4x4, где несколько ячеек могут быть отключены (или могут иметьсуществующие предметы).Здесь ячейка A2 отключена.Все остальные ячейки включены.У меня есть блок шириной 3 клетки.Форма этого блока может быть переменной.Это может быть линия или точка в одной ячейке, или она может иметь L-образную форму и т. Д.

Я хочу, чтобы пользователь мог перетаскивать этот блок в мою сетку, и форма должна привязываться к ближайшему пустому.пространство.

Так, например, если пользователь перетаскивает этот блок близко к нижней строке D и около 2,3,4 ячеек, он будет привязан там.

Если пользователь перетаскивает этот блок рядом с нижней строкой D и рядом с ячейками 1,2,3, он будет привязан там.

Но если пользователь перетаскивает верхнюю строку A, он либо возвращается обратно в исходное положение, либо ИЛИ привязывается к ближайшим ячейкам в строке B, так как вторая ячейка в строке A отключена.

Я не ищу код, я в основном ищу идею о том, как мне следует реализовать что-то подобное?

Я работал с UIPanGestureRecognizers, а также работал с функцией перетаскивания в UICollectionView, ноони были в основном для отдельных ячеек, и я не думаю, что применимо в моей проблеме блоков переменной формы.

...