2016-07-05 2 views
0

Я пытаюсь отполировать мой рабочий стол, показывая на нем границу. Вот как это в настоящее время выглядит следующим образом:Правильно отображается граница на UITableView

enter image description here

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

Вот как это выглядит, когда без границ:

enter image description here

Я использую колонтитула, как это и добавить границы, как это:

self.tableView.tableFooterView = UIView() 
self.tableView.backgroundColor = UIColor.clearColor() 


tableView.layer.masksToBounds = true 
tableView.layer.borderWidth = 2.0 

ПРИМЕЧАНИЕ

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

+0

Вам нужна граница, чтобы быть статичной или вы хотите, чтобы она перемещалась с последней ячейкой? – APesate

+0

вам нужно настроить рамку вашего стола в соответствии с ее содержимым ... –

+1

Не в тему, но я просто хотел сказать, что ваша идея проекта гениальна. Продолжать! –

ответ

0

Лучшим решением будет принимать все эти клетки в этом же разделе & добавить footerView толщиной UILable с цветом фона вашего выбора.

Удостоверьтесь, что стиль TableView сгруппирован, чтобы он не плавал.

0
tableview.layer.borderWidth=2.0; 
tableview.layer.borderColor=[[UIColor blackColor].CGColor]; 
0

Таким образом, существует несколько способов достижения этой цели.

  1. Отрегулируйте размер TableView, поэтому, когда вы измените его слой, он будет правильно соответствовать всему виду.

Рассмотрение: Убедитесь, что contentSize() из TableView фактически помещается на экране, так что вы не до конца с тем, что это больше, чем экран устройства.

  1. Добавить только верхнюю границу и остальную часть сторон к ячейкам, поэтому граница будет правильно перемещаться с ячейками, и вы не закончите пустыми пространствами, когда табличное представление свитки.

    Иными словами.

    • Верхняя граница будет применяться к TableView.layer
    • Побочные границы будут применяться к каждой строке. Вы можете добавить их как subview или в cell.contentView.layer. Какой вам легче.
    • Нижняя граница будет применяться только к последней строке.

Проблема с этим: если contentSize из Tableview больше, чем frame.size то последняя ячейка не будет появляться и граница не будет видна либо.

В качестве примечания стороны, если вы хотите скрыть дополнительные разделители в конце таблицы, вы можете это сделать.

tableview.tableFooterView = UIView(frame: CGRect.zero)

0

Это может быть достичь путем получения UITableViewCell высоты.

Вы знаете высоту строки ячейки, а также количество ячеек.

Затем просто установите рамку UITableView в соответствии с рассчитанным значением.

UITableView высота = cell ряд высота * количество ячеек.

Затем установите границу на Tableview

+0

Я знаю высоту ячейки, но как получить число или видимые ячейки? –

+0

Хорошо, что вы можете сделать одно. Вы просто просматриваете и устанавливаете автозапуск для этого вида. Установите границу для этого вида. Затем добавьте в это представление uitableview. – Andolasoft

0

enter image description here

tableview.layer.borderWidth=2.0; 
tableview.layer.borderColor=[[UIColor blackColor].CGColor]; 

вы должны принять IBOutlet из Hight Constraint вашего Table View

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *TblHeightConstraint; 

столовый набор высоты с

TblHeightConstraint.constant = yourCellHight * [NumberofCells]; 

он установит ваш стол hight daynamically.so Ваша граница будет отображаться в соответствии с количеством ячеек.

Смежные вопросы