Ще одна порада про спосіб Крістіана показати округлий кутовий фон для згрупованої таблиці.
Якщо я використовую cornerRadius = 10
для комірки, вона показує фон округлого вибору чотирьох кутів. Це не те саме з інтерфейсом інтерфейсу перегляду таблиць за замовчуванням.
Отже, я думаю про простий спосіб вирішити це за допомогою cornerRadius . Як видно з наведених нижче кодів, перевірте розташування комірок (верхній, нижній, середній або верхній нижній) та додайте ще один підшар, щоб приховати верхній або нижній кут. Це просто показує такий самий вигляд із фоном вибору таблиці за замовчуванням.
Я перевірив цей код на iPad splitterview
. Ви можете змінити положення кадру patchLayer за потребою.
Будь ласка, повідомте мені, чи є більш простий спосіб досягти того ж результату.
if (tableView.style == UITableViewStyleGrouped)
{
if (indexPath.row == 0)
{
cellPosition = CellGroupPositionAtTop;
}
else
{
cellPosition = CellGroupPositionAtMiddle;
}
NSInteger numberOfRows = [tableView numberOfRowsInSection:indexPath.section];
if (indexPath.row == numberOfRows - 1)
{
if (cellPosition == CellGroupPositionAtTop)
{
cellPosition = CellGroupPositionAtTopAndBottom;
}
else
{
cellPosition = CellGroupPositionAtBottom;
}
}
if (cellPosition != CellGroupPositionAtMiddle)
{
bgColorView.layer.cornerRadius = 10;
CALayer *patchLayer;
if (cellPosition == CellGroupPositionAtTop)
{
patchLayer = [CALayer layer];
patchLayer.frame = CGRectMake(0, 10, 302, 35);
patchLayer.backgroundColor = YOUR_BACKGROUND_COLOR;
[bgColorView.layer addSublayer:patchLayer];
}
else if (cellPosition == CellGroupPositionAtBottom)
{
patchLayer = [CALayer layer];
patchLayer.frame = CGRectMake(0, 0, 302, 35);
patchLayer.backgroundColor = YOUR_BACKGROUND_COLOR;
[bgColorView.layer addSublayer:patchLayer];
}
}
}