Text wrapping is not working for "SCNText" node

Viewed 965

I am able show SCNText in AR environment but when I tried to wrap the text in container of fixed width and height, instead showing it in multiple lines its getting overlapped.

let text = SCNText(string: ktext, extrusionDepth: 0.0)
text.name = "text"
text.firstMaterial?.diffuse.contents = color
text.font = UIFont(name: fontName, size: size)
text.truncationMode = kCAAlignmentCenter
text.isWrapped = true
text.truncationMode = kCATruncationMiddle
text.containerFrame.size = CGSize(width: 3, height: 1)

enter image description here

1 Answers

If you use a "normal" font size and containing frame on the SCNText object, and then set a scale on the node that contains it, everything wraps as expected. Something like:

let extrudedText = SCNText(string: definition.text, extrusionDepth: 0.1)
extrudedText.font = UIFont(name: definition.fontname, size: 0.2)!
...
extrudedText.font = UIFont(name: definition.fontname, size: 20)! 
extrudedText.containerFrame = CGRect(origin: .zero, size: CGSize(width: 100.0, height: 500.0))
...
scale = SCNVector3Make(0.01, 0.01, 0.01)
Related