Я создаю кнопку динамически. и создание методов действия
[newButton addTarget:self action:@selector(goToNew:)forControlEvents:UIControlEventTouchUpInside];
Я хочу отправить аргумент (indexpath.row) из таблицы, но не хочу использовать тег ... потому что мне нужно, чтобы этот тег оставался одинаковым для всех кнопок, как я могу передать аргумент в действии кнопки?
На самом деле я добавляю кнопку в каждую ячейку таблицы, и мне нужно действие для всех этих кнопок, но если я использую tag = indexpath.row и использую его с действием, это работает, но возникает проблема с наложением кнопки. Поэтому я хочу тег будет постоянным.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UIButton *btn;
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn addTarget:self action:@selector(goToNew:) forControlEvents:UIControlEventTouchUpInside];
btn.tag = 55;
[cell.contentView addSubview:btn];
}
else {
btn = (id)[cell.contentView viewWithTag:55];
}
return cell;
}
- (void) goToNew:(id)sender
{
UIButton *b = (UIButton *)sender;<br>
UITableViewCell cell = (UITableViewCell ) [b superview];
int row = [msgTableView indexPathForCell:cell].row;<br>
(@ "строка - это :::% d", строка);
}