Cocoa 使用动态工具栏调整NSSegmentedControl的宽度和位置

Cocoa 使用动态工具栏调整NSSegmentedControl的宽度和位置,cocoa,nstoolbar,nstoolbaritem,nssegmentedcontrol,Cocoa,Nstoolbar,Nstoolbaritem,Nssegmentedcontrol,我有一个非常动态的UI,它在文档窗口的工具栏中使用了NSSegmentedControl NSSegmentedControl动态地分配其元素 元素的数量在1到15之间变化很大 此时,工具栏将不会调整NSSegmentedControl中的元素数量,即通过setSegmentCount:设置段数后,所有超过NSSegmentedControl原始宽度的段(在创建窗口时)将被剪裁: 告诉NSToolbar重新计算其所有元素的宽度,即NSSegmentedControl的宽度以及所有元素的位置,最

我有一个非常动态的UI,它在文档窗口的工具栏中使用了
NSSegmentedControl

NSSegmentedControl
动态地分配其元素

元素的数量在1到15之间变化很大

此时,工具栏将不会调整
NSSegmentedControl
中的元素数量,即通过
setSegmentCount:
设置段数后,所有超过
NSSegmentedControl
原始宽度的段(在创建窗口时)将被剪裁:


告诉
NSToolbar
重新计算其所有元素的宽度,即
NSSegmentedControl
的宽度以及所有元素的位置,最好的方法是什么?

剪切是由
NSToolbarItem
-maxSize
的当前值引起的。在将段添加到
NSSegmentedControl
或直接在Interface Builder中设置最大宽度后,尝试使用
-setMaxSize:
调整其宽度

有关此主题的更多信息,请访问