Wrapping Text in a UITextView Around a UIImage WITHOUT CoreText
This seems to do the trick:
UIBezierPath * imgRect = [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, 100, 100)];
self.textView.textContainer.exclusionPaths = @[imgRect];
Works only from iOS 7 and up.
In Swift 4:
self.textView.textContainer.exclusionPaths = [UIBezierPath(rect: imageView.frame)]