zoukankan      html  css  js  c++  java
  • IOS7图文混排及高度

        _textView =[UITextView new];

       NSString*str =@"是是是是是是是是是是是是是是是是是是是是是是是是是是是是是是是是是是是是是是是是";

        NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:str];

        

        NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init];

        textAttachment.image = [UIImage imageNamed:@"biao1@2x"] ;

        textAttachment.bounds =  CGRectMake(0, -10, textAttachment.image.size.width , textAttachment.image.size.height);

        NSAttributedString *attrStringWithImage = [NSAttributedString attributedStringWithAttachment:textAttachment];

        

        [attributedString replaceCharactersInRange:NSMakeRange(4, 1) withAttributedString:attrStringWithImage];

        

    [_textView setAttributedText:attributedString];

        

       

        

        NSLayoutManager *layoutManager = [[NSLayoutManager alloc] init];

        NSTextContainer *container = [[NSTextContainer alloc] initWithSize:CGSizeMake(WIDTH, FLT_MAX)];

     

        

       UIFont*  textFont = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];

        NSDictionary* attrs = @{NSFontAttributeName: textFont};

        

        NSTextStorage *txtStorage = [[NSTextStorage alloc] initWithString:str  attributes:attrs];

        [txtStorage addLayoutManager:layoutManager];

        [layoutManager addTextContainer:container];

        

        float height= [layoutManager boundingRectForGlyphRange:[layoutManager glyphRangeForTextContainer:container] inTextContainer:container].size.height;

     

        

        

      height=   [_textView sizeThatFits:CGSizeMake(WIDTH, FLT_MAX)].height;

        

    //    [layoutManager glyphRangeForTextContainer:container];

    //    height = [layoutManager usedRectForTextContainer:container].size.height;

        

        NSLog(@"height:%f",height);

        

        _textView.frame = CGRectMake(0, 100, WIDTH, height);

        

        NSLog(@"attrStringWithImage.size:%@",NSStringFromCGSize(attrStringWithImage.size));

        NSLog(@"attributedString.size:%@",NSStringFromCGSize(attributedString.size));

      

        NSLog(@"%@",NSStringFromCGRect(_textView.frame));

        [self.view addSubview:_textView];

     另外text.html可以用显示,不用uiwebview

        NSURL *url = [[NSBundle mainBundle] URLForResource:@"text" withExtension:@"html"];

        NSAttributedString *attrStr = [[NSAttributedString alloc]

                                       initWithFileURL:url

                                       options:@{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType}

                                       documentAttributes:nil error:nil];

        [_textView setAttributedText:attrStr];

  • 相关阅读:
    PowerDesigner最基础的使用方法入门学习
    使用vertx共享数据
    VMware中虚拟机与主机不能ping通解决办法
    Win10系统的SurfacePro4无法修改启动顺序怎么办
    Win10系统的SurfacePro4如何重装系统-4 如何再次备份和还原系统
    Win10系统的SurfacePro4的启动菜单太多怎么管理,UEFI的启动菜单如何编辑
    Win10系统的SurfacePro4如何重装系统-3 重装完成之后的系统优化
    Win10系统的SurfacePro4如何重装系统-2 重装WIN10系统
    Win10系统的SurfacePro4如何重装系统-1 SurfacePro专用的PE
    Win10系统的DELL平板如何重装WIN10系统
  • 原文地址:https://www.cnblogs.com/anjsxz/p/3804242.html
Copyright © 2011-2022 走看看