AQGridView фактически берет координаты контейнера и создает из этого строго определенную сетку. Поэтому, когда у вас есть сетка размером 768 пикселей и элементы, размер которых немного меньше 1/3 от ширины, тогда это создаст жесткую сетку, в которую можно поместить эти элементы. По умолчанию ваши AQGridViewCell
представления будут центрированы в пределах каждого квадрата сетки (хотя вы можете вызвать -setResizesCellWidthToFit:YES
, чтобы изменить это); Вы можете отрегулировать это позиционирование, внедрив -gridView:adjustCellFrame:withinGridCellFrame:
в свою реализацию AQGridViewDelegate
.
В вашем случае каждая ячейка имеет отступ в 8 пикселей слева и справа. На внешних краях это видно по отдельности, но между парами оно кажется удвоенным до 16 пикселей (8 пикселей от каждой ячейки).
Таким образом, вы хотите, чтобы у каждой ячейки было поле в 6px, а для самой сетки - еще 6px поля поля слева и справа от всех ячеек. Для этого есть API :
@property (nonatomic, assign) CGFloat leftContentInset;
@property (nonatomic, assign) CGFloat rightContentInset;
То, что вы должны быть в состоянии сделать, это установить myGridView.leftContentInset = 6.0;
и myGridView.rightContentInset = 6.0;
. Затем в виде сетки будут размещены ячейки с шириной содержимого 756 пикселей вместо 768 пикселей, что должно дать вам поле в 6 пикселей вокруг каждой ячейки. Добавьте к этому вставки с левым и правым содержимым размером 6px, и вы получите чистое видимое поле размером 12px между каждой ячейкой и внешними краями сетки.
Примечание: свойства вставки содержимого были фактически созданы, чтобы помочь в размещении определенного количества ячеек в строке. Например, 1024 не делит на 5, так что это может привести к тому, что некоторые довольно маленькие ячейки будут достаточно разбросаны, поскольку сетка макета будет содержать только 4 элемента по ширине. Однако, добавив левые и правые вставки содержимого по 2 пикселя в каждом, представление будет использовать ширину 1020 для вычисления сетки макета, что приведет к 5 ячейкам в строке. На самом деле это именно то, что мы делаем в приложении Kobo для iPad при повороте в альбомный режим; без этого изменения наш портретный режим, 4 элемента в строке, просто растянулся и выглядел слишком скудным.