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

  • 相关阅读:
    P1144 最短路计数 题解 最短路应用题
    C++高精度加减乘除模板
    HDU3746 Teacher YYF 题解 KMP算法
    POJ3080 Blue Jeans 题解 KMP算法
    POJ2185 Milking Grid 题解 KMP算法
    POJ2752 Seek the Name, Seek the Fame 题解 KMP算法
    POJ2406 Power Strings 题解 KMP算法
    HDU2087 剪花布条 题解 KMP算法
    eclipse创建maven项目(详细)
    maven的作用及优势
  • 原文地址:https://www.cnblogs.com/anjsxz/p/3804242.html
Copyright © 2011-2022 走看看