Использование openURL для сбоя вызова от кнопки в ячейке таблицы - PullRequest
0 голосов
/ 05 августа 2011

У меня есть кнопка в ячейке табличного представления и следующее действие для вызова с использованием текста заголовка кнопки

- (IBAction)makeCall:(id)sender
{
    UIButton *button = (UIButton *)sender;

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString     stringWithFormat:@"tel://%@",[button titleForState:UIControlStateNormal]]]];
}

Это не удается (примечание: действие makeCall ДОЛЖНО вызываться, иотладка текста заголовка кнопки дает правильное значение).

Использование одного и того же действия от кнопки в представлении (т.е. не в ячейке таблицы) работает.

Кто-нибудь знает почему?

Спасибо.

1 Ответ

0 голосов
/ 05 августа 2011

Вы уверены, что прикрепили свой метод к своей кнопке?

[yourButton addTarget:self selector:@selector(makeCall:) forControlEvents:UIControlEventTouchUpInside];

Вы всегда можете отладить его, используя NSLog:

NSLog(@"Yep, it does get called, `openURL` just doesn't work ...");

Добавьте строку выше ниже - (IBAction)makeCall:(id)sender ... {


Не важно, я читал, вы уже уверены, что ваш метод вызывается.Вместо этого добавьте следующую строку:

NSLog(@"Yep, it does get called, `openURL` just doesn't work ...: %@", [sender title]);

Если она содержит пробелы или специальные символы (в основном все символы, кроме A-Za-z0-9), вам может потребоваться выполнить небольшую операцию кодирования URL-адреса (или, если возможно, просто удалите эти символы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...