TPPDF表格对齐

时间:2019-01-16 04:23:12

标签: swift pdf

我试图基于数据数组“ tableData”创建表。

行数会有所不同。

要创建表,您必须将“路线”数据与数据进行匹配。

我无法创建仅具有.left,.center或.right变量的数组来匹配数据。它们不是st或整数等。

那么如何将对齐行设置为等于数据行?

do {
        try table.generateCells(
            data:tableData,
            alignments: [
                [.center, .right, .right, .right],
                [.center, .right, .right, .right],
                [.center, .right, .right, .right],
                [.center, .right, .right, .right]
            ]
        )

    }

您似乎无法用一个条目设置所有行。必须是具有匹配行数的数组。

https://github.com/Techprimate/TPPDF

谢谢。

2 个答案:

答案 0 :(得分:1)

我是TPPDF的创建者。

在开发过程中,我设计的表的工作方式类似于流行的文字处理软件(例如Microsoft Office Word或LibreOffice),您可以在其中更改每个单元格的对齐方式。

到目前为止,无法设置默认对齐方式,因此最简单的方法是将数据映射到对齐方式(如您在代码示例中所做的那样)。

如果您想使用较短的语法,我可以提出以下建议:

let tableData: [[String]] = [...] // This is your nested data
let alignments = tableData.map { $0.map { _ in PDFTableCellAlignment.right }}

我们随时欢迎新功能和增强,请随时提出一个问题,甚至更好地使用默认对齐值实现,并在Github上提出拉取请求。

答案 1 :(得分:0)

我认为这可行。也许有人有更好的方法?

通过“ PDFTableCellAlignment”设置对齐数组,使我可以设置.right,.left,.center变量。

    var tableData = [[String]]()

    var align = [[PDFTableCellAlignment]]()

    for item in self.d!{

        let c = [ .... ]
        tableData.append(c)

        align.append([.right, .right, .right, .right])

    }

期待别人的想法。

谢谢。