Ios NSLocalizedString使用Xcode以字符串形式断开网页URL

Ios NSLocalizedString使用Xcode以字符串形式断开网页URL,ios,xcode,Ios,Xcode,我有许多字符串,其中嵌入了internet链接,在我将NSLocalizedString应用于每个字符串以进行西班牙语本地化之前,这些字符串工作得很好。现在,在我的应用程序中,无论是英语(基础语言)还是西班牙语,字符串中的链接都无法识别或操作 我一直无法确定为什么会发生这种情况,也没有在网上找到任何关于这个问题的参考资料。在使用NSLocalizedString时,是否需要对字符串的URL部分进行一些特殊的格式化,而在使用NSString时则不需要这样做?我非常感谢任何人能为我的问题提供解决方案

我有许多字符串,其中嵌入了internet链接,在我将NSLocalizedString应用于每个字符串以进行西班牙语本地化之前,这些字符串工作得很好。现在,在我的应用程序中,无论是英语(基础语言)还是西班牙语,字符串中的链接都无法识别或操作

我一直无法确定为什么会发生这种情况,也没有在网上找到任何关于这个问题的参考资料。在使用NSLocalizedString时,是否需要对字符串的URL部分进行一些特殊的格式化,而在使用NSString时则不需要这样做?我非常感谢任何人能为我的问题提供解决方案

以下是我的一个NSLocalizedString示例及其在形成contentString中的使用:

aboutContentText = NSLocalizedString(@"\"The Visitation\", by 1737, Jerónimo Ezquerra (1660-1737), http://commons.wikimedia.org/wiki/File:Jerónimo_Ezquerra_Visitation.jpg\n", @"aboutContentText-2nd Joyful Mystery");
contentString = [[NSMutableAttributedString alloc]
                 initWithString: aboutContentText attributes: contentAttributes2];

不要本地化URL,只本地化文本:

NSString *preamble = NSLocalizedString(@"\"The Visitation\", by 1737, Jerónimo Ezquerra (1660-1737)", @"preamble aboutContentText-2nd Joyful Mystery");
NSString *urlString = @"http://commons.wikimedia.org/wiki/File:Jerónimo_Ezquerra_Visitation.jpg";
NSString *aboutContentText = [NSString stringWithFormat:@"%@, %@\n", preamble, urlString];
NSLog(@"aboutContentText: %@", aboutContentText);
NSLog输出:

aboutContentText: "The Visitation", by 1737, Jerónimo Ezquerra (1660-1737), http://commons.wikimedia.org/wiki/File:Jerónimo_Ezquerra_Visitation.jpg

简单:不要本地化URL。发布问题代码以获得更好的解决方案。显示有关如何获取字符串、如何操作或处理字符串(如果有)以及如何尝试将其用作URL的代码。@Zaph:请参阅我原始文章中添加的代码。谢谢@肯特·霍马斯:请看我原来的帖子中增加的代码。谢谢将碰巧包含URL字符串的字符串放入属性字符串中,不一定会自动使其成为可单击的链接。是否将其设置为
UITextView
的内容?文本视图的
dataDetectorTypes
是否设置为包含
UIDataDetectorTypeLink
?另外,请尝试记录
contentString
并显示结果。感谢您建议的代码更改,但在应用这些更改后,它们仍然不会生成我在从NSString更改为NSLocalizedString之前拥有的可单击热链接URL。从我的示例中可以看到,aboutContentText随后用于创建一个NSMutableAttributedString,我称之为contentString。然后使用appendAttributedString方法将contentString追加到resultString(另一个包含其他属性文本内容的NSMutableAttributedString)。同样,在NSString到NSLocalizedString更改之前,所有这些都工作正常。非常令人困惑和沮丧。所以你的问题不在本地化。这使得
AttributedString
成为罪魁祸首。我发现了问题所在:我没有检查文本视图的可选行为,因此URL链接没有被识别并显示出来。在最近的代码本地化中,我调用了Autolayout,并在文本视图中创建了约束。出于某种原因,此活动必须已关闭选中的可选行为,因为我以前的代码版本工作正常。无论如何,URL识别和行为现在仍像以前一样工作。感谢扎夫和肯·托马斯的努力和花时间帮助我。他们非常感激!