UITextView 调用前一个号码

Posted

技术标签:

【中文标题】UITextView 调用前一个号码【英文标题】:UITextView calling previous number 【发布时间】:2014-08-04 18:12:24 【问题描述】:

我有一个 ios 应用程序,可以查找员工并显示他们的工作号码/手机号码。我遇到的问题是在查找一个人然后另一个人之后,当我点击我刚刚查找的人的号码时,它会一直拨打之前搜索过的人的号码。

在任何人说什么之前,我已经查看了UITextView link detection in iOS 7

我尝试设置 textview.text = nil,禁用和启用可选择、可编辑和滚动启用。没有任何效果。如果有人可以对我遇到的问题有所了解,那就太好了。谢谢!

    查找第一个员工,点击电话号码,它会拨打正确的号码 查找另一名员工(第二名员工),显示正确的电话号码,点击电话号码并拨打第一名员工的电话号码# 查找另一名员工(第 3 名员工),显示正确的电话号码,点击电话号码,它仍会拨打第 1 名员工的电话号码。

UITextView 有 selectable = true,detection = phone numbers,editable = NO,已尝试设置 scroll enabled = YES 和 NO。

iOS 部署目标是 7.0

代码:

@property (weak,nonatomic) IBOutlet UITextView *Phone;

found = [happyArray valueForKey:@Extension"];
if ([found length]>0) _Phone.text = [NSString stringWithFormat:@"%@",[found stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]]];

【问题讨论】:

你的问题和你的问题不清楚。你是说你在文本视图中显示一些恰好有电话号码的文本,如果你点击电话链接,就会调用正确的号码。但是如果你用不同的号码更新相同的文本视图,点击链接会调用以前的电话号码?显示您的相关代码。 请更新您的问题,提供更多详细信息,这样更容易阅读。 完成,如果您需要查看更多代码,请告诉我 您是否设置了一个断点,以便在您选择一个人时看到您真正要选择的人。 我仍在等待访问存储库,因此我实际上可以尝试一些断点,但是当我查找另一个人并且它显示正确的信息时,这并不意味着我选择了正确的人? 【参考方案1】:

这似乎是一个 iOS 错误,就像它在 SO 的 other answer 中提到的那样。尝试将文本视图设置为可编辑,然后在设置新数字后立即取消设置。

如果这不起作用,请在再次设置数字之前使用 setText:nil。

【讨论】:

哦,是的......显然我遇到了同样的问题,因为我以前看过那个帖子。 谢谢,现在好像可以了。我之前尝试过设置和取消设置可编辑,但我尝试将文本设置为 nil 以及可选择和可滚动。但是设置和取消设置可编辑本身似乎就可以解决问题。

以上是关于UITextView 调用前一个号码的主要内容,如果未能解决你的问题,请参考以下文章

长按 UITextView 中的电话号码后,不会出现来自 UIActionSheet 的取消按钮

禁用 UITextView 的放大镜但启用目标 c 中的链接和电话号码检测

获取 iphone sdk 中 uitextview 数组中的所有超链接?

如何调整 UIScrollView 的大小以适合子 UITextViews 的内容

如何从 Swift 中的 UITextView 获取链接范围

UITextView 根据 UITableViewCell 中的文本动态宽度