Невозможно начать вызов, когда нажата кнопка в UITableViewCell - PullRequest
0 голосов
/ 19 мая 2011

Каждая ячейка в моем табличном представлении имеет кнопку.Я хочу позвонить по номеру, когда кнопка нажата.Раньше я использовал вызов из кода следующим образом:

NSString *cifra1=@"tel://";
NSString *cifra=customer.tel;     
cifra1 = [cifra1 stringByAppendingString:cifra];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:cifra1]];

Если я поместил этот код в метод "didSelectRowAtIndexPath", все работает.Но если я вставлю это в -(IBAction)buttonPressed:(UIButton *) sender, то ничего не произойдет.Я проверил этот метод с NSLog, и он реагирует на нажатия кнопок.

Что не так?

РЕДАКТИРОВАТЬ: Странно, это работает:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {


NSString *cifra1=@"tel://";
NSString *cifra=@"123456789";
cifra1 = [cifra1 stringByAppendingString:cifra];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:cifra1]];

}

и это не так, хотя номер клиента читается правильно:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

Customer *c=[customerArray objectAtIndex:indexPath.row];

NSString *cifra1=@"tel://";
NSString *cifra=c.tel;
cifra1 = [cifra1 stringByAppendingString:cifra];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:cifra1]];

}

Ответы [ 4 ]

0 голосов
/ 19 мая 2011

Убедитесь, что вы установили цель кнопки с помощью addTarget:action:withObject:forControlEvents:

0 голосов
/ 19 мая 2011
Кнопка

(IBAction) Нажата: (UIButton *) отправитель

изменить его как (IBAction) кнопкаPressed: (id) отправитель

0 голосов
/ 19 мая 2011

Сделай это

NSString *cifra = [[c.tel copy] autorelease];

Я подозреваю, что вы используете основные данные.

0 голосов
/ 19 мая 2011

Это ваша кнопка нажата называется?

Попробуйте добавить NSLog(@"%s", __FUNCTION__);

Попробуйте использовать идентификатор вместо UIButton:

-(IBAction)buttonPressed:(id) sender
...