macOS/iOS API解説

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

目次

addItemsWithTitles:

ポップアップボタンにタイトルの配列で複数項目を追加します
-(void)addItemsWithTitles:(NSArray *)itemTitles:

解説

ポップアップボタンにタイトルの配列で複数項目を追加します。
同じタイトルのものがあれば、追加しません。
追加されたメニュー項目は初期設定のアクションとターゲットを使います。
アクションをセットするにはsetAction:、ターゲットをセットするにはsetTarget:を使います。

返り値

( void )

なし

引数

( NSArray * )itemTitles

ポップアップボタンのタイトル配列

フレームワーク

ApplicationKit

クラス

NSPopUpButtonCell

Instance Methods

使用可能

10.0

参照

- addItemWithTitle:,
- setAction:(NSMenuItem),
-setTarget:(NSMenuItem)

例文

#import "MyObject.h"

@implementation MyObject

- (IBAction)myAction:(id)sender
{
/*
Localizable.stringsのJapaneseに記入してあります。
"menu_open"="開く";
"menuItem_1"="メニュー項目1";
"menuItem_2"="メニュー項目2";
"menuItem_3"="メニュー項目3";
*/
NSPopUpButtonCell *pubc = [[NSPopUpButtonCell alloc] initTextCell:@"newName" pullsDown:YES];
NSMenuItem	*menuItem1 = [[[NSMenuItem alloc] init] autorelease];
NSMenuItem	*menuItem2 = [[[NSMenuItem alloc] init] autorelease];
NSMenuItem	*menuItem3 = [[[NSMenuItem alloc] init] autorelease];
NSMenu *menu = [[[NSMenu alloc] init] autorelease];

[menuItem1 setTitle:NSLocalizedString(@"menu_open",@"")];
[menu setTitle: NSLocalizedString(@"menu_open",@"")];

[menu addItemWithTitle: NSLocalizedString(@"menuItem_1",@"")
    action: @selector(mItem1) keyEquivalent: @"A"];
[menu addItemWithTitle: NSLocalizedString(@"menuItem_2",@"")
    action: @selector(mItem2) keyEquivalent: @"B"];
[menu addItemWithTitle: NSLocalizedString(@"menuItem_3",@"")
    action: @selector(mItem3) keyEquivalent: @"E"];

[menu setAutoenablesItems:NO];
[menuItem1 setTarget:self];
[menuItem2 setTarget:self];
[menuItem3 setTarget:self];

[pubc setMenu:menu];
[popupbutton setCell:pubc];
[pubc addItemsWithTitles:
            [NSArray arrayWithObjects:@"iti", @"ni", @"san", @"yon", @"go", @"roku", @"nana", @"hati", @"kyu", @"juu", @"juuiti", @"juuni", @"juusann", @"juuyonn", @"juugo", nil]];


}
-(void)mItem1{NSLog(@"Menu1");}
-(void)mItem2{NSLog(@"Menu2");}
-(void)mItem3{NSLog(@"Menu3");}
@end