我有一个 SKLabelNode 我想要定位中心,但是我必须将标签节点左对齐和下对齐以消除有据可查的“抖动效应”。我目前通过使用以下函数分配节点的位置来定位节点来设置场景:
func gridPointX(xPoint:CGFloat, pointY:CGFloat) -> CGPoint {
var xDivision:CGFloat = CGRectGetMaxX(frame)/5.0
var yDivision:CGFloat = CGRectGetMaxY(frame)/5.0
return CGPointMake(xPoint*xDivision, pointY*yDivision)
}
这工作正常,直到我使用以下代码删除“抖动效应”:
myDateLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentMode.Left
myDateLabel.verticalAlignmentMode = SKLabelVerticalAlignmentMode.Bottom
我试图通过以下方式手动将 x 和 y 位置输入到代码中:
myDateLabel.position = self.gridPointX(0, pointY: 3.6)
但是,这会根据设备类型产生不同的标签位置。如果我能计算出 SKLabelNode 的长度,我无疑可以确定中心,我已经搜索了文档但无法找到解决方案。有什么想法吗?