gpt4 book ai didi

macos - 如果一个 NSView 使用了 autolayout,那么它的所有 subview 是否也需要使用 autolayout 来定位?

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

我在窗口中有一个 View , View 的位置和大小是通过自动布局计算的。该 View 有一个 subview ,一个可拖动的 NSView 子类。通过覆盖 -mouseDown:-mouseDragged: 并直接更改 View 的框架,使 NSView “可拖动” 非常容易。

View 层次结构如下, Draggable subview

在这种情况下,使 subview 可拖动的最佳方法是什么?

例如,

  1. subview 是否可以使用自动布局,从而可以直接通过更改框架来定位?即窗口定位主视图,但自动布局不会在主视图内布局 subview 。或者层次结构中的所有 View 都需要使用自动布局吗?

  2. 当我之前使用自动布局时,我用它来制作响应调整大小的“固定”布局。但用鼠标拖动 View 似乎并不是自动布局的自然用例。

最佳答案

Is it possible for the subview to not use autolayout, so that it can be positioned by changing the frame directly?

是的。如果您保持 translatesAutoresizingMaskIntoConstraints 打开,它会自动根据 frameautoresizingMask 的值创建约束>.

事实上,这意味着它使用自动布局,但您可以像手动定位一样使用框架

关于macos - 如果一个 NSView 使用了 autolayout,那么它的所有 subview 是否也需要使用 autolayout 来定位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19464075/

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