uitextview怎么输入富文本
1个回答
展开全部
直接看代码
_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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询