我已将 NSSegmentedControl 添加到普通窗口的水平拆分视图的窗格中。我认为调整弹簧会使分段控制中心自动运行,但事实并非如此。如何保持居中?
我被告知要在父视图的框架发生变化时添加一个观察者,并手动调整居中视图的位置,但我不知道该怎么做。
任何想法都非常受欢迎。
我已将 NSSegmentedControl 添加到普通窗口的水平拆分视图的窗格中。我认为调整弹簧会使分段控制中心自动运行,但事实并非如此。如何保持居中?
我被告知要在父视图的框架发生变化时添加一个观察者,并手动调整居中视图的位置,但我不知道该怎么做。
任何想法都非常受欢迎。
您描述的布局在 IB 中听起来完全合理。
只是测试一下,我在拆分视图的一个视图中放置了一个分段控件,它保持居中,所以我确定只是配置问题。
请确保:
您的拆分视图设置为保持居中并适当调整窗口大小(只是为了确保您看到的行为与分段控件的容器未正确调整大小无关)。
您定位分段控制死点,然后未单击所有 3 个水平“弹簧”(即:无左锚定、无右锚定、无水平增长)。
我不知道它是否在最近的操作系统版本中被“修复”了,但如果我没记错的话,NSSegmentedControl 会在每次段发生变化时执行 -sizeToFit 。如果控件根本没有改变,Jarrett 的说明应该会起作用。