UITableViewCell中的可点击电话号码

时间:2011-04-19 08:02:07

标签: iphone objective-c ios

嘿伙计们,我有一个应用程序,我从数据库中提取文本并将其放入TableView。有没有一种简单的方法让TableView识别单元格中的电话号码,并允许用户点击它来拨打该号码?

示例:(在UITableViewCell内部)

  

我们是一家销售优质猫粮的商店。如需联系我们,请致电123.567.9012或访问www.whatever.com。

我希望用户能够点击电话号码,然后弹出“呼叫”或“取消”弹出窗口。

谢谢

4 个答案:

答案 0 :(得分:5)

您所追求的是数据检测。 UITextView执行数据检测,为文本提供不可编辑的功能。您可以创建包含UITableViewCell的{​​{1}}子类。请查看UITextView documentation中的UITextField

dataDetectorTypesUITableView都是UITextField的子类,因此您必须注意滚动行为。

答案 1 :(得分:3)

是的,使用UITextView并相应地设置数据检测器。禁用编辑。这是一个简单的示例屏幕截图。细胞用IB制备。点击URL将打开Safari,电话号码只能在设备上使用。

enter image description here

答案 2 :(得分:2)

为此,您可以创建一个按钮并为您的电话号码设置标题,并在其操作中使用此代码

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

并打开网址

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com"]];

答案 3 :(得分:0)

如前所述,通过 UITextView 用法,可以通过在Interface Builder中设置属性来轻松实现:< / p>

Detection: Phone Numbers
Editable: False
Scrolling Enabled: False
User Interaction Enabled: True

请注意,如果您在真实设备中进行测试,电话号码检测仅适用。如果在模拟器中进行测试则无法正常工作