我有一個標準NSMenu這樣如何動態調整NSMenu的大小以適應其內容?
此菜單與此代碼創建:
NSMenu *menu = [[NSMenu alloc] init];
NSMenuItem *addMenuItem = [[NSMenuItem alloc] init];
[addMenuItem setTitle:[NSString stringWithFormat:@"Upload"]];
[addMenuItem setHidden:NO];
[addMenuItem setRepresentedObject:contentType];
[addMenuItem setTarget:self];
[addMenuItem setAction:@selector(performSelectedDragOperation:)];
[addMenuItem setTag:operation];
[addMenuItem setEnabled:YES];
[menu addItem:addMenuItem];
NSMenuItem *alterMenuItem = [addMenuItem copy];
[alterMenuItem setTitle:@"Upload in Folder"];
[alterMenuItem setKeyEquivalentModifierMask:NSAlternateKeyMask];
[alterMenuItem setAlternate:YES];
[menu addItem:alterMenuItem];
[alterMenuItem release];
[addMenuItem release];
NSMenuItem *addMenuItem2 = [[NSMenuItem alloc] init];
[addMenuItem2 setTitle:[NSString stringWithFormat:@"EditNewAndUpload"]];
[addMenuItem2 setHidden:NO];
[addMenuItem2 setRepresentedObject:contentType];
[addMenuItem2 setTarget:self];
[addMenuItem2 setAction:@selector(performSelectedDragOperation:)];
[addMenuItem2 setTag:operation];
[addMenuItem2 setEnabled:YES];
[menu addItem:addMenuItem2];
NSMenuItem *alterMenuItem2 = [addMenuItem2 copy];
[alterMenuItem2 setTitle:@"EditNewAndUpload in Folder"];
[alterMenuItem2 setKeyEquivalentModifierMask:NSAlternateKeyMask];
[alterMenuItem2 setAlternate:YES];
[menu addItem:alterMenuItem2];
[alterMenuItem2 release];
[addMenuItem2 release];
正如你可以看到有在菜單中的每個選項「重複」項目。當您按下選項(alt)鍵以顯示菜單時,會顯示該項目的副本。
的問題是,菜單尺寸的變化,而這是示出了替代的菜單項,因爲這個菜單的標題比原稿更大,它永遠不會恢復到原來的大小,從而產生這樣的:
任何想法,我該如何解決它? 謝謝
你說得對。我只是在XCode的'產品'菜單中看到相同的行爲。謝謝 –