我的 ASTextNod 通常需要 3 行,但我是从第二行转写的。
结果:我的 ASTextNod 显示 2 行和 3 个 trancate 点,但他的高度是 3 行的高度而不是 2。
我正在寻找类似于 ASTextNode 的 sizeToFit 的东西。
Best Answer-推荐答案 strong>
我花了一些时间来熟悉 ASDisplayKit 中的布局,并且在线资源非常有限。您需要使用 insetSpecs。但是,如果您能提供更多有关您尝试显示它的方式和位置的详细信息,那就更容易了。
这是一个 ASCellNode 示例,其文本具有动态高度和宽度,宽度小于屏幕尺寸,高度最大为 200 点。
class MyNode: ASCellNode {
var myText: ASTextNode
init() {
myText = ASTextNode()
addSubnode(myText)
}
override func layoutSpecThatFits(constrainedSize: ASSizeRange) -> ASLayoutSpec {
let cellWidth = UIScreen.mainScreen().bounds.size.width
myText.sizeRange = ASRelativeSizeRangeMake(
ASRelativeSize(
width: ASRelativeDimensionMakeWithPercent(0),
height: ASRelativeDimensionMakeWithPoints(0)),
ASRelativeSize(
width: ASRelativeDimensionMakeWithPercent(cellWidth),
height: ASRelativeDimensionMakeWithPoints(200)))
let insetSpecs = ASInsetLayoutSpec(
insets: UIEdgeInsets(top: 8, left: 8, bottom: 8, right: 8),
child: myText)
return insetSpecs
}
}
关于ios - SizeToFit AsyncDisplayKit,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/35458548/
|