NSPopover 首选朝下弹(preferredEdge: .maxY);一旦下方空间不足,它会自动翻到侧边(或上方),
箭头随之重指入口——你之前喜欢的"底→右→左→顶"自适应,这里是系统原生自带,零几何计算。
一行代码的事:popover.show(relativeTo: 工具按钮.bounds, of: 工具按钮, preferredEdge: .maxY)。
下方不够 → 系统自动选 .maxX/.minX/.minY 里放得下的那条边,箭头自动重指。
这正是我上次在"自适应沙盘"里手搓的那套逻辑——用官方组件,它免费且更稳。