我的 UI 中有一行,由固定大小的字符串 (FS)、固定大小的图像和可变大小的字符串 (VS) 组成。我需要这条线在它的超级视图中居中,如果它不再适合它,可能会截断 VS。就像启用截断的简单居中 NSTextField 一样。但是 NSTextField 不能保存 NSImage AFAIK。
我想 NSStackView 应该能够做到这一点。我已经将它设置为在它的超级视图中居中,并且里面有一个 NSTextField、NSImage 和 NSTextField。但是当我将 VS 设置为非常长的值时,FS 和 VS 都会被推出超级视图边界并被剪裁。
有没有办法告诉 NSStackView 永远不要将 FS 移出超级视图边界,而是截断 VS?还是有任何其他技术可以实现我的目标?
到目前为止我已经尝试过:
- 在VS上使用NSStackView并将compressionResistance设置为499 - 没有效果
使用 NSTextView - 无法使其截断文本并适合单行。也似乎是矫枉过正
使用 NSView - 它需要我设置 x 位置,所以它没有正确居中。
我可以使用 NSView 并计算字符串的大小并修改约束以使其工作。但我认为必须有更好的方法。
感谢您的任何想法,
J。