【发布时间】:2020-04-01 13:54:55
【问题描述】:
我的代码遇到了一个奇怪的问题,我希望其他人对如何处理这个问题有更好的想法。
**我想要达到的目标总结:**
我有一个看起来像这样的编辑器: 在右侧,我有一个检查器面板,我可以在其中手动更改当前选定视图的框架(它位于另一个 NSView 内,即 NSScrollView 的文档视图)。
**实现总结:**
NSScrollView 内的主视图不直接使用自动布局,因为我需要能够手动设置框架,我将所有子视图的 translatesAutoresizingMaskIntoConstraints 属性保留为 true(默认值)在 NSScrollView 里面。所以我最终会在设置框架时自动创建约束。
问题:
当我设置框架时,比如说 (1, 0, 100, 100) 出于某种原因,自动布局引擎会考虑 NSScrollView 的放大率值并重新调整框架,因此最终框架可能会结束看起来像 (1.74, 0, 100, 100)。虽然我确实理解这一点,但问题是,我可以禁用此行为吗?无论 NSScrollView 放大率值如何,是否可以在确保 Autolayout 不会拧紧最终帧的同时将帧值增量为 1.0?
谢谢!
【问题讨论】:
标签: swift macos autolayout nsview nsscrollview