Как заставить UITextView оборачивать текст вокруг UIImage, как на этом изображении?
Размер изображения не обязательно заранее известен.
Как заставить UITextView оборачивать текст вокруг UIImage, как на этом изображении?
Размер изображения не обязательно заранее известен.
iOS 7 и выше:
UIBezierPath * imgRect = [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, 100, 100)];
self.textView.textContainer.exclusionPaths = @[imgRect];
Свифт (кредит Барта ван Куика):
let exclusionPath = UIBezierPath(rect: CGRectMake(0, 0, 100, 100))
self.textView.textContainer.exclusionPaths = [exclusionPath]
Ответ Гила в Swift:
let exclusionPath = UIBezierPath(rect: CGRectMake(0, 0, 100, 100))
self.textView.textContainer.exclusionPaths = [exclusionPath]
Если у кого-то есть лучшее решение, пожалуйста, принесите его, но обычно мне приходилось возвращаться к html, чтобы проделать такой трюк.
Вы можете использовать два textView и один imageView для достижения этого программно, но я буду писать пару LOC. Вам нужно будет выяснить размер изображения, настроить первое табличное представление так, чтобы оно хорошо подходило рядом, а затем выяснить, где строка длиннее видимой, отрезать ее и перейти к следующему текстовому представлению.
То же самое может быть достигнуто с помощью простого локального UIWebView.