Reference: Using auto-layout to calculate table cell height
In ‘Using auto-layout to calculate table cell height’, it’s introduced how to use auto-layout to update table view’s (UITableView) cell height with Objective-C language. However there is different at NSTableView.
Here I will introduce to do similar thing at NSTableView with Swift language. Remember one thing post ‘Using auto-layout to calculate table cell height’ has warned that this method is not that efficient, figure out the way make it more efficient yourself.
To make a iMessage-like chat table view, there is several steps to follow:
Text field should be able to adjust its size automatically. Image view of bubble should adjust automatically relative to text field. Table view’s row should be fitted into the row cell’s subview, which include text field and image view. Let scroller auto scroll to bottum. Here I use View-based NSTableView to make these:
Table view settings There is some import constraints to make the three components, NSImageView, NSTextField, NSTableViewCell, keep corresponded size, which is showed below:
According to the SceneKit document, the function of resetTransform is:
Updates the position and orientation of a body in the physics simulation to match that of the node to which the body is attached.
Through experiment, I found this is little special.
If you do this:
var node = SCNNode(geomentry: SCNBox()) node.position = SCNVector3(0, 1, 0) node.rotation = SCNVector4(1, 0, 0, CGFloat(M_PI)/2) node.physicsBody = SCNPhysicsBody(type: .Dynamic, nil) scene.rootNode.addChildNode(node) If you get the position and rotation of node.