我试图弄清楚NSScrollView的内容放大率是如何工作的:
我有一个NSScrollView,我试图添加一个包含NSTextField的NSView。
我使用文本字段创建NSView并将其添加到NSScrollView文档视图(scrollView.documentView addSubview:...),因此我最终得到以下内容:
NSScrollView.documentView - > NSView - >的NSTextField
当NSScrollView上的放大率发生变化时,NSView会自动调整大小,并且NSTextField的边界/单击区域也会调整大小,但实际的NSTextField不会调整大小:(那些红色轮廓是如果我将鼠标悬停在/我必须单击以开始编辑的位置,光标将会改变,所以这实际上是以某种方式正确缩放)
如果我跳过NSView,并将NSTextField直接添加到NSSCrollView.documentView,我会得到类似的"效果"实际文本/文本字段将缩放的位置,而不是焦点环:
它看起来像是直接"下面" NSScrollView.documentView将正确扩展,但不是它的子视图?
我尝试设置autoresizing mask和autoresizessubviews-> TRUE无处不在但无济于事......
我做错了什么?
感谢您的帮助!
答案 0 :(得分:5)
我不认为你做错了什么,它只是打破了。遗憾的是,大多数小工具都不会以理智的方式上下扩展。它们是非常古老的类,并且有大量的黑客攻击,并且最近刚刚(重新)添加了缩放。
如果您正在实现自己的视图,则缩放很棒,但对于窗口小部件不会非常有用。 (我甚至不知道他们是否对所有小部件都有完全可扩展的艺术。)