macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

initWithTitle:action:keyEquivalent:

タイトル、アクション、代替キーでメニュー項目を初期化して返します
-(id)initWithTitle:(NSString *)itemName:
             action:(SEL)anAction:
             keyEquivalent:(NSString *)charCode:

解説

タイトル、アクション、代替キーでメニュー項目を初期化して返します。
タイトルと代替キーはnilではいけません。
代替キーが不要な場合は空の文字列@""をセットします。
初期設定の状態はNSOffState。

返り値

( id )

メニュー項目

引数

( NSString * )itemName

メニュー名

( SEL )anAction

アクションセレクタ

( NSString * )charCode

代替キー文字

フレームワーク

ApplicationKit

クラス

NSMenuItem

Instance Methods

使用可能

10.0

参照

例文

#import "MyObject.h"

@implementation MyObject

- (IBAction)myAction:(id)sender
{
/*
Localizable.stringsのJapaneseに記入してあります。
"menu_open"="開く";
"menuItem_1"="メニュー項目1";
"menuItem_2"="メニュー項目2";
"menuItem_3"="メニュー項目3";
*/
        NSMenu *menu = [[[NSMenu alloc] init] autorelease];
        NSMenuItem	*menuItem = [[[NSMenuItem alloc] init] autorelease];
        NSMenuItem	*menuItem1 = 
            [[[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"newItem",@"")
                                    action:@selector(mItem2:)
                                    keyEquivalent:@"B"
                                    ] 
            autorelease];
        
        
        //メニュー項目をセット
        [menuItem setTitle:NSLocalizedString(@"",@"")];
        //メニューのタイトルをセット
        [menu setTitle: NSLocalizedString(@"menu_open",@"")];
        //メニューにメニュー項目をセット
        [menu addItemWithTitle: NSLocalizedString(@"menuItem_1",@"")
            action: @selector(mItem1:) keyEquivalent: @"A"];
        [menu addItem:menuItem1];
        //メニュー項目にサブメニューをセット
        [menuItem setSubmenu: menu];
        //使用可能にする
        [menu setAutoenablesItems:NO];
        [menuItem setEnabled:YES];
        //メインメニューにセットする
        [[NSApp mainMenu] insertItem: menuItem atIndex: 2];
        //ターゲット
        [menuItem setTarget:self];
}

-(void)mItem1:(id)sender
{
NSLog(@"item1");
}
-(void)mItem2:(id)sender
{
NSLog(@"item2");
}
@end