【问题标题】:Open the Phone (Call) with a button and a Text field/View (iPhone)使用按钮和文本字段/视图(iPhone)打开电话(呼叫)
【发布时间】:2011-06-19 08:01:16
【问题描述】:

这可能吗?

应用程序将有一个按钮和一个文本字段或文本视图。

用户在文本字段或文本视图中输入电话号码。当用户完成后,用户按下将打开“电话”按钮并拨打该号码的按钮。

我该怎么做?如果可能,请提供一些代码! :)

提前谢谢你!

【问题讨论】:

    标签: ios objective-c iphone phone-number phone-call


    【解决方案1】:

    看看这段代码,应该可以正常工作!

    -(IBAction)newuser:(id)sender;
    {
        NSString *URLString = [@"tel://" stringByAppendingString:textfield.text];
    
        NSURL *URL = [NSURL URLWithString:URLString];
    
        [[UIApplication sharedApplication] openURL:URL];
    }
    

    【讨论】:

    • 请注意,RFC 声明电话 URL 以 tel: 开头,而不是 tel://
    【解决方案2】:

    您可以将电话号码格式化为tel:// URL。因此,如果您有一个文本字段(此处为MyTextField):

    NSString *URLString = [@"tel://" stringByAppendingString:MyTextField.text];
    
    NSURL *URL = [NSURL URLWithString:URLString];
    
    [[UIApplication sharedApplication] openURL:URL];
    

    【讨论】:

    • 请注意,RFC 声明电话 URL 以 tel: 开头,而不是 tel://
    • 当我们将 urlstring 分配给 url 时,在代码的第二行中,url 为 nil。请帮助 NSURL *URL = [NSURL URLWithString:URLString];结果为零
    【解决方案3】:

    iPhone 支持 tel: URI 方案,由 RFC 3966 定义。所以一个简单的例子会要求电话号码'12345'是:

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:12345"]];
    

    这应该会导致设备切换到正常的电话应用程序并拨打号码。您需要验证文本字段以检查非法条目;该规范实际上允许使用相当多的字符(请参阅第 5 页的正式语法),但作为第一次测试,您可能希望删除任何不是数字的内容。

    【讨论】:

    • 请注意,RFC 声明电话 URL 以 tel: 开头,而不是 tel://
    猜你喜欢
    • 1970-01-01
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-19
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多