UITableViewCell中可点击的电话号码

问题描述

|| 大家好,我有一个应用程序,可以从数据库提取文本并将其放入TableView中。是否有一种简单的方法可以让TableView识别单元格中的电话号码,并允许用户单击它来拨打电话? 示例:(在UITableViewCell内部) 我们是一家出售高级猫食的商店。要与我们联系,请致电123.567.9012或访问www.whatever.com。 我希望用户只需单击电话号码,它就会弹出“呼叫”或“取消”弹出窗口。 谢谢

解决方法

您所追求的是数据检测。
UITextView
执行数据检测,前提是文本不可编辑。您可以创建一个包含
UITextField
UITableViewCell
子类。看
UITextView
文档中的
dataDetectorTypes
UITableView
UITextField
都是
UIScrollView
的子类,因此您必须注意滚动行为。,是的,可以使用UITextView并相应地设置数据检测器。禁用编辑。这是一个简单的示例屏幕截图。用IB制备细胞。单击URL将打开Safari,该电话号码仅在设备上有效。,为此,您可以创建一个按钮并将标题设置为您的电话号码,并在其操作中使用此代码
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@\"tel://8004664411\"]]; 
并打开网址使用
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@\"http://www.google.com\"]];
,如前所述,可以通过在Interface Builder属性中进行设置来轻松实现UITextView的使用:
Detection: Phone Numbers
Editable: False
Scrolling Enabled: False
User Interaction Enabled: True
请记住,只有在真实设备中进行测试时,电话号码检测功能才能起作用。如果在模拟器中进行测试,它将无法正常工作。