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

转载于:https://www.cnblogs.com/anjsxz/p/3804242.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值