2011-01-14 6 views
0

私のCocoaアプリケーションでは、1つのビューでInterface Builderを使用してNSPopupButtonを追加し、それに応じてソースファイル をリンクしました。コードが動的に作成され、メニューがNSPopupbuttonで追加されます。 私はCocoa NSPopupButtonの問題

NSString *pThemeName; 
for(;index<count;index++) 
{ 
    pThemeName = [pThemeArray objectAtIndex:index]; 

    /* If its valid them go ahead and add that into the 
    list 

    */ 
    if([CommFileManager IsValidThemeName:pThemeName]){ 
    menuItem = [[NSMenuItem alloc] initWithTitle:pThemeName action:@selector(selectThemeName) keyEquivalent:@""]; 
    [menuItem setTarget:self]; 
    [pPopUpmenu addItem:menuItem]; 
    [menuItem setTag:index]; 
    [menuItem release]; 
    } 
} 
[pPopupButton setTarget:self]; 
[pPopupButton setMenu:pPopUpmenu]; 
[pPopupButton selectItem:[pPopUpmenu itemAtIndex:5]]; 
[pPopUpmenu release]; 

下のコードを参照してください私はアプリケーションを実行すると、その後、最初にボタンが有効になっていますが、私は矢印をクリックすると、メニューやボタンを含むこと

を無効になりますWindowDidLoad でそれを行っていますさ私が何をしているか教えてください間違った

+0

アクションを設定せずにポップアップボタンで 'setTarget:'を呼んでも構いません。各メニュー項目にアクションを追加するので、ボタン自体のターゲット/アクションを指定しないでください。 – d11wtq

+0

こんにちは私はそれも、幸運なしで試した:( – Amitg2k12

答えて

0

NSPopUpButtonを有効にするにはアクションが必要です。ターゲットはオプションです(nilは最初のレスポンダを意味します)。

メニュー項目のターゲット/アクションを設定する必要はありません。ポップアップは、ターゲットに対してアクションを呼び出すときに選択された項目を表示できるためです。

+0

ありがとう – Amitg2k12

関連する問題