我在a上使用setView:方法NSMenuItem来设置自定义视图.在此自定义视图中,有一个图像占据整个视图.在NSMenuItem这个自定义视图是在菜单的第一个,但问题是,它不坐与菜单的顶部齐平,有很大的差距,你可以在这里看到:

为什么会这样,我怎么能阻止它呢?
编辑
我现在正在使用此代码,但我正在EXC_BAD_ACCESS上线InstallControlEventHandler.
-(void)applicationDidFinishLaunching:(NSNotification *)aNotification {
HIViewRef contentView;
MenuRef menuRef = [statusMenu carbonMenuRef];
HIMenuGetContentView(menuRef, kThemeMenuTypePullDown, &contentView);
EventTypeSpec hsEventSpec[1] = {
{ kEventClassMenu, kEventMenuCreateFrameView }
};
InstallControlEventHandler(contentView,
NewEventHandlerUPP((EventHandlerProcPtr)hsMenuCreationEventHandler),
GetEventTypeCount(hsEventSpec),
hsEventSpec,
NULL,
NULL); // Get EXC_BAD_ACCESS here.
}
static OSStatus hsMenuContentEventHandler( EventHandlerCallRef caller, EventRef event, void* refcon )
{
OSStatus err;
check( GetEventClass( event ) == kEventClassControl );
check( GetEventKind( event ) == kEventControlGetFrameMetrics );
err = CallNextEventHandler( caller, event ); …Run Code Online (Sandbox Code Playgroud)