将 UITextView 中的文本包裹在 UIImage 周围而不使用 CoreText

问题描述 投票:0回答:3

有没有办法在不使用

UITextView
的情况下将
UIImage
中的文本环绕在
CoreText
周围?

我一直在尝试使用属性字符串,但运气不佳,而且

CoreText
看起来非常复杂,所以我宁愿不参与其中。

ios uiimageview uitextview word-wrap nsattributedstring
3个回答
112
投票

这似乎可以解决问题:

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

迅速,

textView.textContainer.exclusionPaths = [UIBezierPath(...)]

或者只是

textView.textContainer.exclusionPaths = [UIBezierPath(...the image frame)]

仅适用于 iOS 7 及更高版本。


2
投票

在 Swift 4 中:

self.textView.textContainer.exclusionPaths = [UIBezierPath(rect: imageView.frame)]

0
投票

简短的回答是,如果没有 iOS 7 之前的 CoreText,你就不能使用。

我自己不久前一直在努力解决这个问题,这篇文章对我非常有帮助。

虽然它是 CoreText。

© www.soinside.com 2019 - 2024. All rights reserved.