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

  • 相关阅读:
    Ubuntu: Set socks5 proxy for git
    Tornado实现一个消息墙。
    android 5.0开启google now 【需ROOT】
    python 回调函数
    php开发bug
    复习
    关于 xshell
    前端页面
    yii框架对数据库查询访问处理
    前端笔记
  • 原文地址:https://www.cnblogs.com/anjsxz/p/3804242.html
Copyright © 2011-2022 走看看