码迷,mamicode.com
首页 > 移动开发 > 详细

IOS7图文混排及高度

时间:2014-06-26 00:39:24      阅读:352      评论:0      收藏:0      [点我收藏+]

标签:style   class   ext   color   width   string   

    _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图文混排及高度,布布扣,bubuko.com

IOS7图文混排及高度

标签:style   class   ext   color   width   string   

原文地址:http://www.cnblogs.com/anjsxz/p/3804242.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!