IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> YYLabel内容展示(文字 内容 链接(高亮 且可以点击);内容撑起背景的高度) -> 正文阅读

[移动开发]YYLabel内容展示(文字 内容 链接(高亮 且可以点击);内容撑起背景的高度)

   NSString *strTime = DSStringValue(self.model.CreateTime);
//    strTime = [strTime stringByReplacingOccurrencesOfString:@"T" withString:@" "];
    
    if (strTime.length > 0) {
//        NSRange rangeDate = [strTime rangeOfString:@"T"];

        self.lblDate.text =[[self.model.CreateTime stringByReplacingOccurrencesOfString:@"T" withString:@" "]componentsSeparatedByString:@"."][0];
    }
    NSString *strContents = GetStringValue(self.model.NoticeContent);
    if (strContents.length > 0) {
    self.lblContents.text =strContents;
    CGSize sizeContents = [strContents sizeWithFontCustom:REGULAR_FONT(14) constrainedToSize:CGSizeMake(SCREEN_WIDTH - 15-97-17-19, MAXFLOAT)];
    UIImage *imageBg = [UIImage imageNamed:@"mine_message_bg"];
        imageBg = [imageBg resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0,0, 0) resizingMode:UIImageResizingModeStretch];
    self.imvBg.image =imageBg;
      CGRect lblContentFrame = self.lblContents.frame;
    lblContentFrame.size.height =sizeContents.height;
    self.lblContents.frame = lblContentFrame;
    CGRect imvBgFrame = self.imvBg.frame;
        imvBgFrame.size.height =sizeContents.height + 24;
    self.imvBg.frame = imvBgFrame;
    _scvMain.contentSize = CGSizeMake(SCREEN_WIDTH,CGRectGetMaxY(self.imvBg.frame)+ 10);
    //点击z跳转
    [self needHightText:strContents];
    //长按复制
    UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(copyAction:)];
    longPressGesture.minimumPressDuration = 1;//手势识别时间
    [_imvBg addGestureRecognizer:longPressGesture];
    }
- (void)copyAction:(UILongPressGestureRecognizer *)longPressGesture{
     if (longPressGesture.state == UIGestureRecognizerStateBegan) {
    UIPasteboard*pasteboard = [UIPasteboard generalPasteboard];

    pasteboard.string= self.lblContents.text;
     }else if(longPressGesture.state == UIGestureRecognizerStateEnded){
         [self showMessage:@"复制成功"];
     }
    
    
}

- (void)needHightText:(NSString *)wholeText {



    
    NSMutableAttributedString *text = [[NSMutableAttributedString alloc]initWithString:wholeText];
    
    text.yy_font = REGULAR_FONT(12);
    text.yy_color = Color_Title_AAA;
    NSError *error;
    NSDataDetector *dataDetector=[NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeLink error:&error];
    NSArray *arrayOfAllMatches=[dataDetector matchesInString:wholeText options:NSMatchingReportProgress range:NSMakeRange(0, wholeText.length)];
    //NSMatchingOptions匹配方式也有好多种,我选择NSMatchingReportProgress,一直匹配
    
    //我们得到一个数组,这个数组中NSTextCheckingResult元素中包含我们要找的URL的range,当然可能找到多个URL,找到相应的URL的位置,用YYlabel的高亮点击事件处理跳转网页
    for (NSTextCheckingResult *match in arrayOfAllMatches)
    {
        //        NSLog(@"%@",NSStringFromRange(match.range));
        
        DefinitionWeak(self) ;
        [text yy_setTextHighlightRange:match.range//设置点击的位置
                                 color:Color_Theme
                       backgroundColor:[UIColor whiteColor]
                             tapAction:^(UIView *containerView, NSAttributedString *text, NSRange range, CGRect rect){
                                 NSLog(@"这里是点击事件");
            
            
            
            CommonWebVC *vc = [[CommonWebVC alloc]init];
                    vc.commonWebHidenToken = CommonWebHidenTokenTwo;
                    vc.strAbsoluteUrl = [wholeText substringWithRange:match.range];//CM序列号填写引导
                    [weak_self dsPushViewController:vc animated:YES];
            
                                  //跳转用的WKWebView
//                                 WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.bounds];
//                                 [self.view addSubview:webView];
//                                 [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[wholeText substringWithRange:match.range]]]];

                             }];
    }
    _lblContents.attributedText = text;
}


  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-01-29 23:11:58  更:2022-01-29 23:13:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:51:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码