gpt4 book ai didi

ios - 在 Swift 的屏幕上的列中显示数组中的字符串?

转载 作者:行者123 更新时间:2023-11-28 13:30:57 25 4
gpt4 key购买 nike

我的页面上有一个 ScrollView,我有一个包含一堆字符串的数组。我正在尝试将页面上的字符串显示在一列中,每行一个字符串。


例如我运行:

let usernameData = documents.map { $0["playername"]! }

print(usernameData)

我的输出显示:

[UsernameOne, UsernameTwo, UsernameThree, UsernameFour, UsernameFive]

当我运行时:

let usernameData = documents.map { $0["playername"]! }

for usernames in usernameData {
print(usernames)
}

我的输出显示:

UsernameOne
UsernameTwo
UsernameThree
UsernameFour
UsernameFive

当我尝试添加这些字符串以显示在我的 ScrollView 的列中时,我试图将它们添加到 SKLabelNode 并将我的字符串分配为文本,然后我将为每个字符串增加 SKLabelNode 的 y 位置。例如:

我运行了这个:

let stringOne = SKLabelNode(fontNamed: "Times New Roman")
let usernameData = documents.map { $0["playername"]! }

for usernames in usernameData {
self.stringOne.text = usernames as? String
self.stringOne.fontSize = 150
self.stringOne.fontColor = SKColor.white
self.stringOne.position = CGPoint(x: self.frame.midX * 1.50, y: self.contrainer.frame.maxY * 2.90)
self.stringOne.zPosition = 100
self.moveableNode.addChild(self.stringOne)

}

但它失败了,因为:

 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Attemped to add a SKNode which already has a parent: <SKLabelNode> name:'(null)' text:'UsernameOne' fontName:'Times New Roman' position:{1536, 1978.031982421875}'

如何在屏幕上的一列中显示我存储在该数组中的所有字符串,每列一个字符串?我尝试使用 ScrollView,因为我在其他地方使用过它,而我的实际数组包含大约 100 个字符串,我需要将它们分开并显示在用户屏幕上的一列中。谢谢。

最佳答案

发生错误是因为您在 for 循环中一次又一次地添加相同的 SKLabelNode。相反,您应该在每次迭代中创建一个新的 SKLabelNode:

let usernameData = documents.map { $0["playername"]! }

for usernames in usernameData {
let label = SKLabelNode(fontNamed: "Times New Roman")
label.text = usernames as? String
label.fontSize = 150
label.fontColor = SKColor.white
label.position = CGPoint(x: self.frame.midX * 1.50, y: self.contrainer.frame.maxY * 2.90)
label.zPosition = 100
self.moveableNode.addChild(label)

}

关于ios - 在 Swift 的屏幕上的列中显示数组中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57343768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com