2014-03-25 65 views
7

我想創建一個SKLabelNode,它應該有相同的長度(對於猜字遊戲)。不幸的是,SKLabelNode決定總是切斷任何前導和尾隨空格。此行爲不在文檔中描述。我怎樣才能避免/關閉這種行爲?SKLabelNode刪除前導和尾隨空格 - 我該如何阻止?

+2

您是否已將水平對齊模式設置爲左對齊或右對齊?如果對齊方式爲中心(默認),則前綴/後綴有多少空格無關緊要。 – LearnCocos2D

回答

1

如果您只是希望標籤對齊以便它們對齊,請使用右對齊模式。

myLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentModeRight; 

但是,如果你想創建一個圍繞在SKLabelNode一個矩形,然後你會發現calculateAccumulatedFrame計算標籤的寬度之前確實剝奪任何空格,並返回錯誤的大小。

但是你可以作弊 - 使用一個字符作爲一個虛擬大小指標來添加到你的幀大小。

SKLabelNode* dummyPaddingLetter = [SKLabelNode labelNodeWithFontNamed:<your font name>]; 
dummyPaddingLetter.fontSize = <your font size>; 
dummyPaddingLetter.text = @"W"; // something 'wide' 
float fOneSpace = [dummyPaddingLetter calculateAccumulatedFrame].size.width; 

現在將fOneSpace的倍數添加到矩形的寬度,它可能是正確的。

+0

很好的解決方法來解決問題。謝謝。 –

相關問題