如何使用iOS中的按钮拨打电话

时间:2014-08-01 03:11:21

标签: ios xcode button phone-call

这是我第一次尝试创建应用。并使用Xcode。

之前没有回答过这个问题的原因是因为从我目前的角度来看,我的问题没有答案,即我已按照此网址上的说明创建了应用:

http://www.wikihow.com/Make-an-iPhone-App

我已经完成了第5部分:创建应用程序,第6部分 - 此后我的问题没有得到解答 - 这是如何让我的按钮在点击时拨打电话。

因此,我现在,在Xcode中(记得我按照链接页面上的那些说明)我在屏幕上显示了一个按钮但是我能找到的所有说明并没有完全解决我需要做的事情使该按钮拨打电话。

一些示例显示的代码如下:Making a Button Call a Phone Number in iOS

但是没有告诉我该如何处理该代码,我是所有这一切的新手,所以从这一点发现确切的步骤充其量是残酷的。此外,我尝试将所有代码粘贴到包含代码的工作表中(通过点击)代码显示错误 - 我从网络获取的所有代码。

任何帮助?


P.S。在这个页面上,一张海报说实际上有一个与拨打电话有关的按钮,但我再次知道在哪里找不到这个......

http://www.insanelymac.com/forum/topic/126918-initiating-a-call-on-iphone/

2 个答案:

答案 0 :(得分:0)

与您的视图控制器实现并排打开您的xib / storyboard,按住Control并将按钮(界面构建器)拖到您的实现中。 Xcode应该自动为您生成IBAction。 enter image description here

在您的代码上,请致电:

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

答案 1 :(得分:0)

基本上,您需要将找到的代码添加到'方法中。在你的appdelegate.m文件中。这个方法'是一段代码,只要被告知就会执行。

所以在appdelegate.m中,添加@end

上面的行
- (IBAction)makeCall:(id)sender {

}

现在将您找到的代码行粘贴在两个大括号之间。现在,无论什么时候,makeCall'被称为你发现的代码行将被打电话(希望如此)

下一步是让按钮告诉' makeCall'运行方法。为此,您需要声明' makeCall方法,它相当于在eBay上销售商品:在上一步中你制作了商品(方法),现在你想展示它可用的世界。

在这种情况下,Appdelegate.h相当于eBay / Craigslist / gumtree:在@end上方的任何地方添加这行代码:

-(IBAction)makeCall:(id)sender;

现在最后一步是将按钮链接到此,这是最简单的部分。返回界面构建器并单击按钮。右键单击该按钮,然后将一条线拖到左侧的蓝色框中,该框称为“AppDelegate' (这是您之前添加代码的文件,记得吗?)并从弹出的小列表中选择makeCall。您已成功将按钮链接到您的方法,因此现在当您单击按钮时,您应该可以拨打电话!

如果您想了解更多关于刚添加的代码的细节,IBAction是方法的类型,它意味着一种方法可以在界面构建器中将按钮链接到该方法。 (id)发送方部分意味着无论何时调用该方法,都会传递调用该​​方法的对象/按钮,以便该方法可以查看谁发送了'为了它。

编辑:好的,因为您使用的是故事板,我们需要创建一个名为“查看控制器”的内容。这基本上代表和控制(因此名称)手机屏幕上的任何内容。

所以通过转到文件创建一个新类 - >新的 - > cocoa类,并在字段中将其称为ViewController并使其成为UIViewController的子类。

现在我们需要将我们添加到appdelegate.h和appdelegate.m的所有代码复制到viewcontroller.h和viewcontroller.m,并将我们添加到appdelegate.h的代码复制到viewcontroller.h中的相同位置等。

他们应该看起来像这样:

ViewController.h:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

-(IBAction)makeCall:(id)sender;

@end

ViewController.m:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)makeCall:(id)sender {

}

@end

makeCall包含您之前粘贴的代码行。

现在返回界面构建器并单击屏幕上方立方体内的小黄色方块,然后单击右侧的报纸图标:

enter image description here

在ViewController中的类字段类型中(它应该自动为您完成),然后转到箭头图标选项卡(称为绑定):

enter image description here

点击并将“拨打电话”旁边的小圆圈拖到您的按钮上,然后选择其中一个&#39;触摸&#39;出现的选项。这些只是意味着何时调用该方法,即用户按下按钮或当他们将手指抬离时。它们现在应该联系在一起。试一试,让我知道它是如何工作的。