gpt4 book ai didi

macos - NSScrollView 放大内容

转载 作者:行者123 更新时间:2023-12-03 16:17:52 26 4
gpt4 key购买 nike

我试图弄清楚 NSScrollView 的内容放大是如何工作的:

我有一个 NSScrollView,我试图在其中添加一个包含 NSTextField 的 NSView。

我使用文本字段创建 NSView 并将其添加到 NSScrollView 文档 View (scrollView.documentView addSubview:...),因此我最终得到以下结果:

NSScrollView.documentView -> NSView -> NSTextField

当 NSScrollView 上的放大倍数发生变化时,NSView 会自动调整大小,并且 NSTextField 的边界/点击区域也会调整大小,但实际的 NSTextField 不会调整大小:(那些红色轮廓是光标所在的位置)如果我将鼠标悬停在/必须单击才能开始编辑的位置,则进行更改,这样实际上可以以某种方式正确缩放)

normal size zoomed in, mouse over / start edit bounds in red even more zoomed in, again the actual bounds are somehow scaling so I have to click within those red dots to start editing

如果我跳过 NSView,并将 NSTextField 直接添加到 NSSCrollView.documentView,我会得到类似的“效果”,实际文本/文本字段将缩放,但焦点环不会缩放:

now the textfield is ok, but the focus ring does not scale

看起来 NSScrollView.documentView 直接“下方”的任何内容都会正确缩放,但它的 subview 不会?

我尝试在各处设置自动调整大小蒙版和 autoresizessubviews->TRUE,但无济于事......

我做错了什么?

感谢您的帮助!

最佳答案

我不认为你做错了什么,它只是坏了。遗憾的是,大多数小部件都不会以正常的方式缩放。它们是非常古老的类,其中有大量的 hack,并且最近刚刚(重新)添加了扩展。

如果您要实现自己的 View ,缩放非常有用,但对于小部件来说并不是很有用。 (我什至不知道他们是否为所有小部件提供完全可扩展的艺术。)

关于macos - NSScrollView 放大内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20905698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com