首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NSLinkAttributedName的NSMutableAttributedString

使用NSLinkAttributedName的NSMutableAttributedString
EN

Stack Overflow用户
提问于 2020-04-21 05:10:38
回答 1查看 24关注 0票数 0

使用NSLinkAttributeName属性从NSMutableAttributedString获取。

使用html文件作为链接名称。如何使文本区域更大。

代码语言:javascript
复制
-(NSMutableAttributedString *)attributedStringForLink:(NSString *)fullString
                                    attributedString :(NSMutableAttributedString  *)attributedString
                                             link:(NSString *)linkString
                                             path:(NSString *)pathString
                                             font:(UIFont *)textFont
                                            color:(UIColor *)textColor
                                        alignment:(NSTextAlignment)textAlign
{
    NSMutableAttributedString *attString;
    if(attributedString) {
        attString = attributedString;
    } else {
        attString = [[NSMutableAttributedString alloc]initWithString:fullString];
    }
    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];
    [paragraphStyle setAlignment:textAlign];
    [paragraphStyle setLineBreakMode:NSLineBreakByWordWrapping];
    NSDictionary *attributes = @{NSParagraphStyleAttributeName:paragraphStyle,
                                           NSFontAttributeName:textFont,
                                NSForegroundColorAttributeName:textColor};

    NSRange range = [fullString rangeOfString:linkString];
    [attString addAttributes:attributes range:range];
    [attString addAttribute:NSLinkAttributeName value:pathString range:range];
    [attString addAttribute:NSForegroundColorAttributeName value:textColor range:range];

    return attString;
}
EN

回答 1

Stack Overflow用户

发布于 2020-04-22 23:14:55

很抱歉,我的prob描述非常糟糕。使用的是一个带有链接的NSAttributedString,它产生的结果非常小。原来它是我自己的视图控制器,带有一个小UIWebView。创建一个新的UIViewController,其中包含一个包含UIWebView的UITextView。添加以下委托方法:

代码语言:javascript
复制
-(BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL
         inRange:(NSRange)characterRange
     interaction:(UITextItemInteraction)interaction
{
    if([[URL absoluteString] isEqualToString:@""]) {
        return NO;
    }

    WebViewController *viewController = [[WebViewController alloc]init];

    viewController.pathString = [URL absoluteString];
    [self presentViewController:viewController animated:YES completion:nil];

    return NO;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61332114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档