0

重複の可能性:
ボタンを xcode の TableViewController に接続する

ボタンをプログラムで別のView Controllerクラスに接続するにはどうすればよいですか 事前に感謝しますコードが必要です 私は本当に初心者なので、ここに私のボタンコードがあります:私のvieコントローラークラス名は year.m

-(void) year:(id)sender{
    NSLog(@"Year button clicked");
 }

編集:

ここに私のプログラムボタンのコードがあります

UIBarButtonItem *yearButton= [[UIBarButtonItem alloc] initWithTitle:@"Year" style:UIBarButtonItemStyleBordered    
 target:self action:@selector(year:)];
4

3 に答える 3

0

(Interface Builder ではなく) プログラムでターゲット/アクションのペアを追加するには、次のメソッドを参照してUIButtonください。

addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents
于 2012-07-20T12:30:26.060 に答える
0

addTargetメソッドを追加するだけです(ここを参照してください: Bind Action to UI Button )。あなたの場合は次のようになります。

[yearButton addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];

//the method that gets called
-(IBAction) buttonPressed: (id) sender {
  NSLog(@"Button clicked %@", sender);
  // do something here
}

しかし、ボタンが別のView Controllerで押されたかどうかを確認したい場合は、NSNotificationsを探す必要があります(ここを参照してください:Cocoa Notification Example)。これらを使用して、あるクラスから別のクラスにメッセージを送信し、ユーザーの入力に反応できます。

于 2012-07-20T12:58:45.620 に答える
0

viewDidLoad次の方法でメソッドに yourButton を作成します...

UIButton *yourButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[yourButton setTitle:@"YearButton" forState:UIControlStateNormal];
yourButton.frame = CGRectMake(240, 40, 75, 30);     
[yourButton addTarget:self action:@selector(year:) forControlEvents:UIControlEventTouchUpInside]; 
[self.view addSubview:yourButton];

これはあなたのメソッドコードです....

-(void) year:(id)sender{
    NSLog(@"Year button clicked");
 }

お役に立てると思います。

于 2012-07-20T12:52:15.853 に答える