2011-07-15 19 views
1

我有三個IBActions,每個像這樣它自己的按鈕鏈接:如何使用IBAction爲按鈕之外它的範圍

#import "Controller.h" 
#import "Application.h" 

@implementation Controller 
- (IBAction)deal:(id)sender { 
    NSButton *deal = (NSButton *)sender; 
    ... 
} 

- (IBAction)hit:(id)sender { 
    NSButton *hit = (NSButton *)sender; 
    ... 
} 

- (IBAction)stay:(id)sender { 
    NSButton *stay = (NSButton *)sender; 
    ... 
} 
@end 

如何使用/電話上的按鈕之外它的範圍是什麼?我正在尋找這樣的事情:

- (IBAction)hit:(id)sender { 
    NSButton *hit = (NSButton *)sender; 
    ... 
    [hit setEnabled: NO]; 
    [stay setEnabled: NO]; // Using/altering "Stay's" button 
} 

在此先感謝!

回答

1

IBAction爲是無效的類型定義,用以想要接口生成器(或Xcode的4界面設計人員發現標誌起來的方法。他們沒有向外鏈接到任何東西只是普通的方法。

你大概是什麼想要的是一些IBOutlets到了連接按鈕,例如連接到擊按鈕,你會添加到您的@interface:

IBOutlet NSButton *hit; 

然後在Interface Builder或Xcode中,你應該能夠控制拖從你的班級到按鈕的連接並連接插座 - 與你一直在做的連接按鈕事件相反o你的班級有效。

因爲hit是一個實例變量,所以你可以從你的類中的任何方法訪問它。

+0

完美!謝謝。 – Simon

1

您可以在您的視圖控制器中將NSButton屬性聲明爲IBOutlet,然後在Interface Builder中將您的按鈕與它連接起來。

喜歡的東西:

@property (nonatomic, assign) IBOutlet NSButton * button;