在 Objective C 中将图像与文本内联设置为 UITextView
Set Image inline with text to UITextView in Objective C
我想向 UITextView 添加与文本内联的图像,就像下面的屏幕截图一样
我尝试使用 NSTextAttachment
和 NSAttributedString
但它只在图像前后放置一行。
请帮我解决这个问题。
你只需要使用 'UIBezierPath'
例如,
txtvHtmlString.text = @“your long text…….”;
imgView = [[UIImageView alloc] initWithFrame:CGRectMake(120, 100, 152, 128)];
imgView.image = [UIImage imageNamed:@"smily.png"];
imgView.layer.cornerRadius = 10;
[txtvHtmlString addSubview:imgView];
如果您的文本已更新,请不要忘记在 viewDidLayoutSubviews 中更新 bezierpath。
- (void)viewDidLayoutSubviews {
UIBezierPath *exclusionPath = [UIBezierPath bezierPathWithRect:imgView.frame];
txtvHtmlString.textContainer.exclusionPaths = @[exclusionPath];
}
我想向 UITextView 添加与文本内联的图像,就像下面的屏幕截图一样
我尝试使用 NSTextAttachment
和 NSAttributedString
但它只在图像前后放置一行。
请帮我解决这个问题。
你只需要使用 'UIBezierPath'
例如,
txtvHtmlString.text = @“your long text…….”;
imgView = [[UIImageView alloc] initWithFrame:CGRectMake(120, 100, 152, 128)];
imgView.image = [UIImage imageNamed:@"smily.png"];
imgView.layer.cornerRadius = 10;
[txtvHtmlString addSubview:imgView];
如果您的文本已更新,请不要忘记在 viewDidLayoutSubviews 中更新 bezierpath。
- (void)viewDidLayoutSubviews {
UIBezierPath *exclusionPath = [UIBezierPath bezierPathWithRect:imgView.frame];
txtvHtmlString.textContainer.exclusionPaths = @[exclusionPath];
}