私のアプリの1つのviewControllerには、プログラムで追加された20個ほどのボタンの長いリストがあります。これらはすべて同じメソッドを呼び出しますが、ボタンタグで自分自身を識別しますが、問題が発生したため、数時間の調査と試行。基本的な問題は、プログラムで作成されたボタンに、初期化された方法以外の方法でアクセスする方法がよくわからないことです。
私の質問は要約されました:
1)viewDidLoadメソッドでボタンを作成する場合、作成したvoidメソッドでボタンにアクセスするにはどうすればよいですか?
2)作成されたvoidメソッドでこれらのボタンタグにアクセスするにはどうすればよいですか?
これが私がこれまでに持っているコードですが、それは以下で説明できないエラーを生成しています。
-(void)viewDidLoad{
float itemScrollerXdirection =0;
float itemScrollerYdirection =0;
float ySize =70.0;
float xSize = 70.0;
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(itemScrollerXdirection,itemScrollerYdirection,xSize,ySize);
[button addTarget:self action:@selector(itemSelected) forControlEvents:UIControlEventTouchUpInside];
button.tag =1;
[button setTitle:@"button1" forState:UIControlStateNormal];
[itemScroller addSubview:button];
}
//no errors in the above code
-(void)itemSelected{
if ([sender tag] == 1) { //Gets error "Use of undeclaired identifier 'sender'"
button.hidden = YES; //Gets error "Use of undeclaired identifier 'button1'"
}
}