如何在放大的 NSScrollView 中修复 NSTextView 的奇怪大小
Posted
技术标签:
【中文标题】如何在放大的 NSScrollView 中修复 NSTextView 的奇怪大小【英文标题】:How to fix NSTextView's weird sizing inside a magnified NSScrollView 【发布时间】:2019-05-06 12:47:44 【问题描述】:我在 NSScrollView/NSClipView 中有一个 NSTextView,这是通常的设置。当我用[NSScrollView setMagnification:...]
放大滚动视图并调整窗口大小时,文本视图框架的宽度会不断变大,无论我是拉伸还是缩小窗口。
如果滚动视图没有放大,文本视图表现正常。我尝试删除约束并禁用子视图自动调整大小,但没有任何帮助。每当我设置任何类型的放大倍数时,每次调用调整大小时,文本视图大小都会发生变化。如果放大倍数低于 1,则缩小。
TextContainer 中的任何错误也不应该使它变宽,因为我已经设置了textContainer.widthTracksTextView = false;
我试图通过设置 insets 来使 textContainer 在我的 NSTextView 中居中,但是随着大小的不同,它变得不可能。我已经浏览了我的代码,没有任何东西可以调整它的大小。这是一个错误还是 setMagnify:
会导致 LayoutManager 中的约束或其他一些数学问题?
【问题讨论】:
【参考方案1】:对于任何试图弄清楚这一点的人: 这是由放大视图或其任何子视图的最小宽度约束引起的。似乎是一个错误,因为我无法理解这将是如何预期的行为。
只需删除>=
约束,并在需要时限制运行时的大小。
【讨论】:
以上是关于如何在放大的 NSScrollView 中修复 NSTextView 的奇怪大小的主要内容,如果未能解决你的问题,请参考以下文章
如何让 NSScrollView 在 10.9 及更高版本中居中文档视图?