如何在放大的 NSScrollView 中修复 NSTextView 的奇怪大小

How to fix NSTextView's weird sizing inside a magnified NSScrollView

我在 NSScrollView/NSClipView 中有一个 NSTextView,这是通常的设置。当我用 [NSScrollView setMagnification:...] 放大滚动视图并调整 window 的大小时,文本视图框架的宽度不断变大,无论我是拉伸还是收缩 window.

如果滚动视图未放大,则文本视图行为正常。我试过删除约束并禁用子视图自动调整大小,但没有任何帮助。每当我设置任何类型的放大倍率时,每次调用调整大小时文本视图大小都会发生变化。如果放大倍数小于1,它会缩小。

TextContainer 中的任何错误都不应该使它变宽,因为我已经设置 textContainer.widthTracksTextView = false;

我试图通过设置 insets 来使 textContainer 在我的 NSTextView 中居中,但是对于不同的大小这是不可能的。我已经完成了我的代码,没有任何东西可以调整它的大小。这是错误还是 setMagnify: 会导致 LayoutManager 中的约束或其他数学问题?

对于任何试图解决这个问题的人: 这是由放大视图或其任何子视图的最小宽度约束引起的。似乎是一个错误,因为我无法理解这是预期的行为。

只需删除 >= 约束,并根据需要在 运行 时间内限制大小。