Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone UITableViewCell中可单击的电话号码_Iphone_Objective C_Ios - Fatal编程技术网

Iphone UITableViewCell中可单击的电话号码

Iphone UITableViewCell中可单击的电话号码,iphone,objective-c,ios,Iphone,Objective C,Ios,嘿,伙计们,我有一个应用程序,我从数据库中提取文本并将其放入TableView。有没有一种简单的方法让TableView识别手机内的电话号码,并允许用户点击它拨打电话号码 示例:(在UITableViewCell内) 我们是一家出售优质猫粮的商店。如需联系我们,请致电123.567.9012或访问www.whater.com 我希望用户能够只点击电话号码,它会弹出“呼叫”或“取消”弹出窗口 谢谢您为此,您可以创建一个按钮并为您的电话号码设置标题,并在其操作中使用此代码 [[UIApplicati

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

示例:(在UITableViewCell内)

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

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


谢谢您

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

[[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。有没有办法让这种行为发生?