我的代码中有以下几行,用于向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
有人可以告诉我我做错了什么。
谢谢!
答案 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];