1

3 つの IBActions があり、それぞれが次のように独自のボタンにリンクされています。

#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
}

前もって感謝します!

4

2 に答える 2

1

IBAction は void の typedef であり、Interface Builder (または Xcode 4 のインターフェイス デザイナー) に見つけてもらいたいメソッドにフラグを立てるために使用されます。これらは、外部リンクのない通常のメソッドです。

おそらく必要なのは、ボタンに接続するための IBOutlets です。たとえば、ヒット ボタンに接続するには、これを @interface に追加します。

IBOutlet NSButton *hit;

次に、Interface Builder または Xcode で、リンクをクラスからボタンにコントロールドラッグしてアウトレットに接続できるようにする必要があります。これは、ボタンイベントをクラスに効果的に接続するために行ってきたこととは逆です。

hit はインスタンス変数であるため、クラス内の任意のメソッドからアクセスできます。

于 2011-07-15T00:35:36.413 に答える
1

ビュー コントローラで NSButton プロパティを IBOutlet として宣言すると、Interface Builder でボタンをリンクできます。

何かのようなもの:

@property (nonatomic, assign) IBOutlet NSButton * button;
于 2011-07-15T00:35:46.413 に答える