iPhone:UITextView如何环绕UIImage?

7

如何使UITextView像这张图片一样环绕UIImage?

alt text

图片大小不一定事先已知。

3个回答

11

iOS 7及以上版本:

UIBezierPath * imgRect = [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, 100, 100)];
self.textView.textContainer.exclusionPaths = @[imgRect];

Swift(感谢Bart van Kuik):

let exclusionPath = UIBezierPath(rect: CGRectMake(0, 0, 100, 100))
self.textView.textContainer.exclusionPaths = [exclusionPath]

这是一个非常好的解决方案,比使用HTML简单得多。话虽如此,HTML是一个非常快速的解决方案。因此,既然现在有了一种方法来做到这一点,用户只需要选择他们喜欢的方式。 - Oxcug

2

以下是Gil在Swift中的回答:

let exclusionPath = UIBezierPath(rect: CGRectMake(0, 0, 100, 100))
self.textView.textContainer.exclusionPaths = [exclusionPath]

0

如果有更好的解决方案,请提出来,但我通常不得不回到HTML来完成这种技巧。

您可以使用两个TextView和一个ImageView来以编程方式实现此目的,但需要编写几行代码。您需要确定图像的大小,将第一个表视图设置为适合旁边,然后确定字符串是否比可见更长,将其截断并继续在下一个TextView上进行。

同样的效果可以通过简单的本地UIWebView实现


嗯...好吧。我希望能够在不使用HTML的情况下轻松实现这一点,但也许没有简单的方法。谢谢。 - Mike C
也许有,我不确定百分之百没有,但我找不到。 - Blitz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接