在网上找不到任何关于此问题的信息,想知道 SO 上是否有人有解决方案。
我有一个 NSView,其中有几个 subview ,这些 subview 通过删除左右 anchor 而居中。当我以编程方式或使用鼠标将 View 大小调整为比 subview 更小的宽度时:它将它们推离中心。以前有人遇到过这个问题吗?你有解决方案吗?
编辑:我希望能够将 View 大小调整为零宽度。原因是,该 View 实际上是分割 View 的一部分,我连接了一个按钮来“折叠”它。当它折叠时,所有 subview 都会被推离中心,并且在调整 View 大小时不会重新居中,从而有效地取消折叠它。
最佳答案
我现在已经解决了我的问题,并且想分享一下,以防将来有人遇到这个问题。
在 Interface Builder 中使用自动调整大小选项或 View 布局似乎无法阻止我的 subview 偏离中心。我确实找到了这个链接here在此页面中,建议:
Springs and struts, as currently implemented, are really no good for anything but keeping either one or both sides of a view "stuck" to the nearest edge. Any sort of centering behavior, division of gained/lost area between multiple views, etc. has to be done by hand.
基于此,我覆盖了 View 的 setFrame:
方法,并使用其 setFrame:
方法手动布局我的 subview 。这非常有效,给了我想要的结果。
关于objective-c - 调整 NSView 的大小使其小于其 subview ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3484963/