单击URL时UITextView崩溃

时间:2014-03-19 23:18:32

标签: ios objective-c nsstring uitextview

我的代码中有以下几行,用于向UITextView添加可点击的网址。 merchantwebsite是我的UITextView。

self.merchantwebsite.attributedText = [[NSAttributedString alloc] initWithString:@"http://www.crossfit.com" attributes:@{NSLinkAttributeName: @"http://www.crossfit.com"}];
self.merchantwebsite.userInteractionEnabled = YES;

当我点击UITextView时,应用程序崩溃并显示日志

2014-03-19 16:13:43.051 BTLE[27103:60b] -[__NSCFConstantString scheme]: unrecognized selector sent to instance 0x1a4404

有人可以告诉我我做错了什么。

谢谢!

3 个答案:

答案 0 :(得分:6)

您显然拥有希望该网址为NSURL的代码。但是,很简单,NSString NSURL。试试这样:

self.tv.attributedText = 
    [[NSAttributedString alloc] 
        initWithString:@"http://www.crossfit.com" 
        attributes:
            @{NSLinkAttributeName: [NSURL URLWithString:@"http://www.crossfit.com"]}];

答案 1 :(得分:0)

当您告诉UITextView要显示的内容时,只需输入链接,然后在从.storyboard页面选择UITextView时在右侧的设置中打开链接识别。

您并不需要任何您需要的代码:

merchantwebsite.text = @"http://www.crossfit.com";

答案 2 :(得分:0)

按如下方式更改您的代码:

 NSAttributedString *string = [[NSAttributedString alloc] initWithString:@"http://www.crossfit.com" attributes:@{NSLinkAttributeName: @"http://www.crossfit.com"}];
[self.merchantwebsite setAttributedText:string];