NSTableView从底部开始

时间:2018-10-01 07:48:56

标签: swift tableview

我有一个带有NSTableview的osX项目

[Screen]
[a]
[b]
[c]
[d]
no cell
no cell
[Screen]

是否可以更改此表视图的方向看起来像这样?

[Screen]
no cell
no cell
[d]
[c]
[b]
[a]
[Screen]

我已经尝试过像在iOS中那样进行转换,但是会引发错误

tableView.transform = CGAffineTransform(scaleX: 1, y: -1)

相同的细胞

cell.contentView.transform = CGAffineTransform(scaleX: 1, y: -1)

要像在iOS中那样访问OSX中的转换属性必须做什么?

1 个答案:

答案 0 :(得分:1)

根据我的想法,您无需使用CGAffineTransform

您只需要根据需要组织数据集并相应地填充单元格即可。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    guard let cell = tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier, for: indexPath) as? CustomTableViewCell else {
        return UITableViewCell()
    }
    cell.updateTitle(customCellTitles[indexPath.row])
    return cell
}

而不是将数据设置为:

customCellTitles = ["a","b","c","d"]

做到:

customCellTitles = ["d","c","b","a"]

除此之外,我将对您的布局进行以下设置:

enter image description here

请注意,没有最高限制。

接下来,从表格视图高度限制中创建一个出口,并在准备好数据集时对其进行更新。

在像元大小相同(或独立于显示内容)的简单情况下,根据像元大小更新高度限制:

tableViewHeightConstraint.constant = cellSize * numberOfCells
view.setNeedsLayout()