自动换行时增长NSTextfield

问题描述 投票:0回答:2

我在NSTableviews Cell中有一个启用了AutoLayout的NSTextfield。因此,每次添加“\ n”时,文本字段(以及保存它的单元格)都会增长,例如按Enter键。但它只适用于那种手动的自动换行。如果达到TextFields宽度,则线条会自动换行,但Textfields高度不会更改。

现在我看到了一些可能的解决方案,包括NSTextField的子类化和覆盖intrinsicContentSize。这里:

How to let NSTextField grow with the text in auto layout?

getting a NSTextField to grow with the text in auto layout?

但那不适合我。它什么都不做。也许问题在于我在tableviewcell中设置约束的方式,但是如果它在进行手动自动换行时成功增长,那么在自动换行时也应该有一种方法。

我真的很感激你的帮助。如果您需要进一步的信息,我可以在某处上传我的代码。

swift macos cocoa nstableview nstextfield
2个回答
0
投票

您需要为该标签将所需宽度设置为“First Runtime Layout Width”。您可以在“大小”检查器中找到它(右侧窗格中的小标尺图标)。


0
投票

在为文本字段设置值时使用这些行

layoutSubtreeIfNeeded()
invalidateIntrinsicContentSize()
© www.soinside.com 2019 - 2024. All rights reserved.