我在看这篇文章:NSMenuItem自定义视图上方的Gap,这似乎在Mac OS X 10.10中不起作用。
我有一个自定义的MenuItem和MenuItemView类,在10.10之前,它们运行良好。现在,我可以在菜单项视图的顶部和底部看到灰色的间隙。仅在Mac OS X 10.10中可见。这是约塞米蒂的问题还是我需要处理这个问题?
非常感谢您的帮助。谢谢
如果您的目标不是Mac App Store,这里有一个使用私有API关闭顶部填充的解决方法。
首先,在NSMenu
上声明以下类别(否则,您将得到大量ARC未知选择器-错误):
@interface NSMenu (Private)
// Use NSMaxYEdge to toggle the top padding
// and NSMinYEdge to toggle the bottom one
- (void)_setHasPadding: (BOOL)enabled onEdge: (NSRectEdge) edge;
@end
然后按如下方式使用:
[self.menu _setHasPadding: NO onEdge: NSMaxYEdge];