gpt4 book ai didi

ios - 如何以编程方式为文本添加大纲?

转载 作者:行者123 更新时间:2023-11-28 16:05:09 24 4
gpt4 key购买 nike

我有两个应用程序,一个带有 UILabel,另一个使用带有 SKLabelNode 的 SpriteKit。我想在白色文本周围添加黑色轮廓。

我在 swift 中找不到任何轮廓或边框属性或类似的东西。我试过只创建新标签,后面的黑色字体稍大一些,但看起来一点也不对。

这是我用 SpriteKit 玩的游戏

title.position = CGPoint(x: self.frame.width / 2, y: self.frame.height / 2)
title.text = "Tap to start!"
title.fontName = "Arial"
title.zPosition = 10
title.fontSize = 50
self.addChild(title)

这是我的另一个使用 UILables 的(它在红色矩形内,因此更容易看到)

let rectangle = UIView(frame:CGRect(x: self.view.frame.size.width / 2 - 150, y: self.view.frame.size.height / 2 - 75, width: 300, height: 150))
rectangle.backgroundColor = UIColor.red
self.view.addSubview(rectangle)

let label = UILabel(frame: CGRect(x: rectangle.frame.size.width / 2 - 75, y: rectangle.frame.size.height / 2 - 10, width: 150, height: 20))
label.textAlignment = .center
label.text = "Tap to Start!"
label.textColor = UIColor.white
label.font = UIFont(name: "Arial", size: 20)
rectangle.addSubview(label)

如何概述这些标签?

最佳答案

对于 SKLabelNode,没有“简单”的文本轮廓显示方法。然而,有一个“黑客”。它涉及在标签周围添加 8 个额外的重复节点,这些节点为黑色(或您希望轮廓的任何颜色),zPosition 小于原始节点,否则相同。

重要的是每个标签的字体大小都与原始标签相同。

您为此所做的尝试包括增加one 大纲副本标签的字体大小。正如您在问题中所说,它不起作用。您必须使用多个标签才能无缝显示效果。

您可以在原件的正上方放置一份副本,在正下方放置一份,在左侧放置一份,在右侧放置一份,然后在每个角上放置一份(右上角、左上角、右下角和左下角)。这提供了轮廓的效果,但是效率不高,应该持保留态度。

注意:保持所有副本的原始偏移量一致,以便“轮廓”大小均匀。

这也适用于 UILabels,但我认为使用 UILabels 可能有更简单的方法。

关于ios - 如何以编程方式为文本添加大纲?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40397185/

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