我想在文本视图上添加图像,并且需要适当的间距,如屏幕截图所示。
我曾尝试在textview上添加图片,但我在按要求放置文字时遇到问题。 请给我一些帮助。
答案 0 :(得分:9)
在定义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
答案 1 :(得分:4)
在SWIFT中:
var exclusionPath:UIBezierPath = UIBezierPath(rect: CGRectMake(0, 0, imageView.frame.size.width, imageView.frame.size.height))
textView.textContainer.exclusionPaths = [exclusionPath]
textView.addSubview(imageView)
答案 2 :(得分:3)
您遇到的问题是您在问题中添加的图片未使用UITextView
。
这样做的方法是使用Text Kit
并手动将文本渲染到视图上。
通过这样做,您可以(在iOS7中)指定文本“包裹”的CGPath
。
您可以观看2013年WWDC视频“文字工具包简介”here。
这显示了如何做到这一点。
答案 3 :(得分:3)
与我的建议一样,您可以使用UIWebview
代替TextView
来执行此任务,请loadHTMLString
使用example of loading local fines in UIWebview
这是{{3}}请查看此内容并表示赞同你需要
答案 4 :(得分:3)
@Fogmeister是正确的,但是如果你想通过使用现在iOS 7中仅使用NSAttributedString的默认RICH TEXT和IMAGE功能来做一些不太复杂的事情,那么看一下这个link。
您将无法支持文本换行 - 使用Pages - 但是为了简单记录,可能会这样做。