代码可以工作,但是应用程序在没有按下按钮的情况下调用字符串。一旦我到达应用程序的特定页面,它就会绕过所有内容(其他按钮,地图视图等)并拨打电话......
我正在使用的代码是:
- (void)loadNo2 {
UIButton *no2 = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[no2 setTitle:@"2108642700" forState:UIControlStateNormal];
[no2 setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[no2 setBackgroundColor:[UIColor blackColor]];
[no2 setFrame:CGRectMake(84, 260, 152, 31)];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://1234567890"]];
[self addSubview:no2];
}
它有什么问题???
答案 0 :(得分:3)
此行显示要拨打的对话框
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://1234567890"]];
您没有将其添加为按钮操作 - 您只是在调用它。
用这个替换该行:
[no2 addTarget:self
action:@selector(onNo2Touch)
forControlEvents:UIControlEventTouchUpInside];
并添加:
-(void) onNo2Touch:(id) sender {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://1234567890"]];
}
答案 1 :(得分:0)
看起来你已经从创建按钮的方法中调用了openURL。 你应该调用UIApplication sharedApp ...(即
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://1234567890"]];
)
在从动作调用的方法内部(映射到按钮)。