Какой макет лучше для пользовательского интерфейса с двумя ячейками карты на строку? - PullRequest
0 голосов
/ 17 февраля 2019

Каков оптимальный способ создания вида сетки для iOS с двумя столбцами в строке, как показано на скриншоте?

grid

В настоящее время я использую таблицу со статическими ячейками,но пользовательский интерфейс искажается на некоторых iPad.Также, как лучше всего организовать границу сетки?В настоящее время я использую imageview центральных и новую ячейку для горизонтальных с imageview.Но это не правильно.

Ответы [ 2 ]

0 голосов
/ 17 февраля 2019

Это должно быть сделано с UICollectionView, у него есть специальный делегат, UICollectionViewDelegateFlowLayout, который позволяет очень легко достичь этого вида.


Шаг 1

Добавьте UICollectionViewDelegateFlowLayout в свой UIViewController, например: <#Your View Controller#> : UICollectionViewDelegateFlowLayout

Шаг 2

Количество ячеек в строке рассчитывается на основена количество ячеек, которые соответствуют ширине UICollectionView.Таким образом, наличие ячеек с половиной ширины будет соответствовать 2 ячейкам в ряду.

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    return CGSize(width: collectionView.frame.width / 2, height: /* your desired height here */)
}

Советы:

Вы можете даже сделать его немного меньше, чемполовину экрана, умножив значения следующим образом: (collectionView.frame.width / 2) * 0.98, вы также можете вычесть постоянные значения.

Возможно, вам придется установить collectionView.minimumInteritemSpacing = 0, так как значение этого атрибута по умолчанию равно 10.0


Документация: UICollectionViewFlowLayout

0 голосов
/ 17 февраля 2019

Это похоже на работу для UICollectionView!(Не должно быть слишком сложно изменить методы протокола UITableViewDataSource на их эквиваленты UICollectionViewDataSource.)

...