使用openURL从表格单元格中的按钮进行调用失败

时间:2011-08-05 12:42:13

标签: iphone uitableview openurl

我在表格视图单元格中有一个按钮,并使用按钮的标题文本进行以下操作

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

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

这是失败的(注意:调用makeCall操作,调试按钮的标题文本会给出正确的值)。

使用视图上的按钮(即不在表格单元格中)的SAME操作。

任何人都知道为什么?

感谢。

1 个答案:

答案 0 :(得分:0)

您确定已将方法附加到按钮上吗?

[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编码操作(或者,如果可能的话,只需删除那些字符)。