を使用して次のメソッドを呼び出すアクションを追加する方法について、誰でも助けてくれますUIButton
。
-(void)navigatePics:(id)sender andIndex:(NSInteger *)index{}
button.setTag:(NSInteger)メソッドを使用して、インデックスをタグとしてUIButtonに追加します。
UIButton *button = ...;
[button setTag:1234];
[button addTarget:self action:@selector(navigatePics:) forControlEvents:UIControlEventTouchUpInside];
次に、navigatePicsでタグを読み取ります。
-(void)navigatePics:(UIButton *)sender
{
int index = sender.tag;
// index = 1234;
}
UIButton *button = [[UIButton alloc] init];
button.tag = 4; //index
[button addTarget:self @selected(buttonDidTap:)];
...
[button release];
-(void)buttonDidTap:(UIButton *)sender{
NSInteger index = sender.tag;
}
これでうまくいくはずです。別のインスタンスでこのメソッドを呼び出したい場合は、self を使用しないでください。その場合は、self の代わりにそのインスタンスを使用してください。
[button addTarget:self action:@selector(navigatePics:andIndex:) forControlEvents:UIControlEventTouchUpInside];