Iphone UITableViewCell中可单击的电话号码
嘿,伙计们,我有一个应用程序,我从数据库中提取文本并将其放入TableView。有没有一种简单的方法让TableView识别手机内的电话号码,并允许用户点击它拨打电话号码 示例:(在UITableViewCell内) 我们是一家出售优质猫粮的商店。如需联系我们,请致电123.567.9012或访问www.whater.com 我希望用户能够只点击电话号码,它会弹出“呼叫”或“取消”弹出窗口Iphone UITableViewCell中可单击的电话号码,iphone,objective-c,ios,Iphone,Objective C,Ios,嘿,伙计们,我有一个应用程序,我从数据库中提取文本并将其放入TableView。有没有一种简单的方法让TableView识别手机内的电话号码,并允许用户点击它拨打电话号码 示例:(在UITableViewCell内) 我们是一家出售优质猫粮的商店。如需联系我们,请致电123.567.9012或访问www.whater.com 我希望用户能够只点击电话号码,它会弹出“呼叫”或“取消”弹出窗口 谢谢您为此,您可以创建一个按钮并为您的电话号码设置标题,并在其操作中使用此代码 [[UIApplicati
谢谢您为此,您可以创建一个按钮并为您的电话号码设置标题,并在其操作中使用此代码
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8004664411"]];
和打开url使用
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com"]];
你想要的是数据检测<代码>UITextView执行数据检测,前提是文本不可编辑。您可以创建包含
UITextField
的UITableViewCell
子类。查看中的dataDetectorTypes
UITableView
和UITextField
都是UIScrollView
的子类,因此您必须注意滚动行为。是的,使用UITextView并相应地设置数据检测器。禁用编辑。下面是一个简单的示例屏幕截图。手机是用IB制作的。点击URL会打开Safari,电话号码只能在设备上使用
如前所述,通过在界面生成器属性中设置使用UITextView可以轻松实现这一点:
Detection: Phone Numbers
Editable: False
Scrolling Enabled: False
User Interaction Enabled: True
请记住,电话号码检测仅在真实设备中测试时有效。如果在模拟器中进行测试,它将无法工作我是否可以用UILabel进行测试?或者更好的方法是,有没有简单的方法将其集成到uitableviewcell中?您可以将
UIAppgestureRecognitizer
附加到UILabel
。手势识别器将调用一种方法来拨打电话。这样做的问题是,所有文本都将变成可点击的,而不仅仅是电话号码(这可能不是问题,取决于文本内容)。UITableViewCell
的textlab
和detailtextlab
属性只是UILabel
s。在启用了dataDetectorTypes的表单元格中放置UITextView存在问题。当点击链接时,效果非常好。但是当点击不在链接上时,我希望像正常情况一样调用didSelectRowAtIndexPath。有没有办法让这种行为发生?