uitextview怎么输入富文本

 我来答
硪丨暧恋
2017-09-26 · TA获得超过8980个赞
知道大有可为答主
回答量:5336
采纳率:93%
帮助的人:2184万
展开全部

直接看代码  

_textView  是定义的成员变量

_textView = [[UITextView alloc]init];  
   _textView.font = [UIFont systemFontOfSize:13];  
   _textView.backgroundColor = [UIColor lightGrayColor];  
   _textView.text = [NSString stringWithFormat:@"settttttttttt :%@",self.countStr];  
   _textView.frame = CGRectMake(20, 100, 200, 130);  
   _textView.delegate = self;  
   [self.view addSubview:_textView];


通过代理方法  得到选中文字的起始位置和长度  通过定义成员变量的方式保存起来  代码如下


- (void)textViewDidChangeSelection:(UITextView *)textView {  
      
    /** 
     * 可以通过得到复制的长度进行判断是否有进行复制操作  再通过位置、长度进行字体变化 
     */  
    _loc = (int)textView.selectedRange.location;  
    _len = (int)textView.selectedRange.length;  
      
}


富文本   让选中的字体加粗或者改变颜色都可以  代码中是点击按钮触发字体选中改变方法

- (void)btnClick{  
      
    if (_len) {    
          
        //怎么让选中的字体加粗呢  
        NSMutableAttributedString *AttributedStr = [[NSMutableAttributedString alloc]initWithString:_textView.text];  
        [AttributedStr addAttribute:NSFontAttributeName  
           
                              value:[UIFont boldSystemFontOfSize:15.0]  
           
                              range:NSMakeRange(_loc, _len)];  
          
        _textView.attributedText = AttributedStr;  
          
          
          
    }  
      
}


图片插入  代码中也是通过按钮触发方法  点击按钮 复制一张图片到光标位置

- (void)copyBtnClick{  
      
    NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithAttributedString:_textView.attributedText];  
      
    NSTextAttachment *textAttachment = [[NSTextAttachment alloc] initWithData:nil ofType:nil] ;  
    textAttachment.image = [UIImage imageNamed:@"111"]; //要添加的图片  
      
    NSAttributedString *textAttachmentString = [NSAttributedString attributedStringWithAttachment:textAttachment] ;  
      
    [string insertAttributedString:textAttachmentString atIndex:_textView.selectedRange.location];//index为用户指定要插入图片的位置  
    _textView.attributedText = string;  
  
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式