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

IOS7图文混排及高度,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。