我试图基于数据数组“ 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
谢谢。
答案 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])
}
期待别人的想法。
谢谢。