2015-08-21 20 views
6

Tôi đang tạo nhãn bên trong bộ công cụ ma và đặt kích thước ban đầu. Vì ứng dụng được bản địa hóa, các từ có thể xuất hiện lâu hơn bằng các ngôn ngữ khác so với phiên bản tiếng Anh của chúng. Vì vậy, làm thế nào tôi có thể điều chỉnh kích thước phông chữ của nhãn để phù hợp với một chiều rộng nhất định mà trong trường hợp này là nút.Thay đổi kích thước cỡ chữ SKLabelNode cho vừa?

myLabel = SKLabelNode(fontNamed: "Arial") 
myLabel.text = "Drag this label" 
myLabel.fontSize = 20 
+1

Câu hỏi tương tự này sẽ giúp bạn tôi nghĩ >> http://stackoverflow.com/q/30980918 –

Trả lời

4

Tôi đã có thể giải quyết điều này nhờ nhận xét của @InvalidMemory và câu trả lời của @ mike663. Về cơ bản bạn mở rộng nhãn theo tỷ lệ với hình chữ nhật có chứa nhãn.

func adjustLabelFontSizeToFitRect(labelNode:SKLabelNode, rect:CGRect) { 

// Determine the font scaling factor that should let the label text fit in the given rectangle. 
let scalingFactor = min(rect.width/labelNode.frame.width, rect.height/labelNode.frame.height) 

// Change the fontSize. 
labelNode.fontSize *= scalingFactor 

// Optionally move the SKLabelNode to the center of the rectangle. 
labelNode.position = CGPoint(x: rect.midX, y: rect.midY - labelNode.frame.height/2.0) 
} 

Đây là liên kết đến other question.

Các vấn đề liên quan