使用自定义间距和文本在UITextView上添加图像

问题描述:

我想在文本视图中添加图像,并希望获得正确的间距,如截图所示。 Its A screenshot as I want as per design:使用自定义间距和文本在UITextView上添加图像

我试图在textview中添加图像,但我在按要求放置文本时遇到问题。 请为我提供相关帮助。

在SWIFT:

var exclusionPath:UIBezierPath = UIBezierPath(rect: CGRectMake(0, 0, imageView.frame.size.width, imageView.frame.size.height)) 

textView.textContainer.exclusionPaths = [exclusionPath] 
textView.addSubview(imageView) 

您遇到的问题是您放入问题的图像未使用UITextView

这样做的方式是使用Text Kit并手动将文本呈现到视图上。

通过这样做,您可以(在iOS7中)指定一个CGPath文本“换行”。

有一个2013年WWDC视频“介绍文本工具包”,你可以观看here

这表明如何做到这一点。

与参数我建议你可以使用UIWebview代替TextView为完成这个任务使用loadHTMLString这里是一个example of loading local fines in UIWebview请看看这一点,并impliment,你需要

@Fogmeister是正确相提并论,但是如果你想通过仅使用NSAttributedString在iOS 7中使用具有IMAGE功能的默认RICH TEXT来做一些稍微复杂的事情,然后看看这个link

您将无法支持文字换行 - 为此使用页面 - 但是对于简单的笔记可能会发生这种情况。

定义textView和imageView后添加下面的代码。

import CoreText.Framework 

UIBezierPath *exclusionPath = [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, imageView.frame.size.width, imageView.frame.size.height)]; 

textView.textContainer.exclusionPaths = @[exclusionPath]; 

[textView addSubview:imageView]; 

有核心文本教程一个清晰的思路看raywenderlich