嘿伙计们,我有一个应用程序,我从数据库中提取文本并将其放入TableView。有没有一种简单的方法让TableView识别单元格中的电话号码,并允许用户点击它来拨打该号码?
示例:(在UITableViewCell内部)
我们是一家销售优质猫粮的商店。如需联系我们,请致电123.567.9012或访问www.whatever.com。
我希望用户能够点击电话号码,然后弹出“呼叫”或“取消”弹出窗口。
谢谢
答案 0 :(得分:5)
您所追求的是数据检测。 UITextView
执行数据检测,为文本提供不可编辑的功能。您可以创建包含UITableViewCell
的{{1}}子类。请查看UITextView
documentation中的UITextField
。
dataDetectorTypes
和UITableView
都是UITextField
的子类,因此您必须注意滚动行为。
答案 1 :(得分:3)
是的,使用UITextView并相应地设置数据检测器。禁用编辑。这是一个简单的示例屏幕截图。细胞用IB制备。点击URL将打开Safari,电话号码只能在设备上使用。
答案 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
请注意,如果您在真实设备中进行测试,电话号码检测仅适用。如果在模拟器中进行测试则无法正常工作。