如何调整macOS Big Sur下仅配置image的NSToolbarItem宽度
不使用自定义视图调整NSToolbarItem宽度的解决方案
- 方案1:启用导航项属性
macOS 11.0(Big Sur)及以上版本新增了NSToolbarItem的isNavigational属性,将其设置为true后,AppKit会自动为这类工具栏项应用标准的导航类内边距,宽度会自动和NSToolbarItemGroup中的分段项对齐,完全符合系统邮件应用的工具栏设计规范,无需额外调整参数。
示例代码:toolbarItem.navigational = YES;toolbarItem.isNavigational = true - 方案2:调整图片对齐内边距
如果需要自定义宽度数值,可以给NSToolbarItem关联的NSImage设置alignmentRectInsets,通过增加左右方向的空白修正区域,让系统计算工具栏项尺寸时自动将空白纳入宽度计算,实现增大宽度的效果,全程不需要引入自定义视图。
示例代码(左右各增加8pt宽度):item.image.alignmentRectInsets = NSEdgeInsetsMake(0, 8, 0, 8);item.image.alignmentRectInsets = NSEdgeInsets(top: 0, left: 8, bottom: 0, right: 8) - 额外优化建议
所有工具栏项使用的SF Symbol建议统一配置weight和scale参数,比如统一使用.medium字重、.regular尺寸,系统计算默认尺寸时基准一致,可避免出现无意义的宽度差。
注意:macOS 11.0及以上版本
NSToolbarItem的minSize、maxSize属性已被废弃,设置后不会生效。
内容的提问来源于stack exchange,提问作者Brian Spilner
相关产品推荐
相关产品推荐

