• 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];

  • 相关阅读:
    梦断代码读后感一
    二阶段之五
    二柱子阶段二
    动手动脑
    二柱子
    开学测试
    jdk的安装
    软工人8月30日学习记录
    软工人8月29日学习记录
    软工人8月28日学习记录
  • 原文地址:https://www.cnblogs.com/anjsxz/p/3804242.html
Copyright © 2020-2023  润新知