Adding Images to UITextView
Solution 1
You can add the image view as a subView of UITextView
.
Create an imageView with image:
UIImageView *imageView = [[UIImageView alloc] initWithImage:yourImage];
[imageView setFrame:yourFrame];
[yourTextView addSubview:imageView];
Edit:
For avoiding the overlapping use (Thanks @chris):
CGRect aRect = CGRectMake(156, 8, 16, 16);
[imageView setFrame:aRect];
UIBezierPath *exclusionPath = [UIBezierPath bezierPathWithRect:CGRectMake(CGRectGetMinX(imageView.frame), CGRectGetMinY(imageView.frame), CGRectGetWidth(yourTextView.frame), CGRectGetHeight(imageView.frame))];
yourTextView.textContainer.exclusionPaths = @[exclusionPath];
[yourTextView addSubview:imageView];
Solution 2
If you add it only as a subview, some text can be "behind" the image. So add the code which will "tell" the text, that area of the image is inaccessible:
UIBezierPath *exclusionPath = [UIBezierPath bezierPathWithRect:CGRectMake(CGRectGetMinX(imageView.frame),
CGRectGetMinY(imageView.frame), CGRectGetWidth(imageView.frame),
CGRectGetHeight(imageView.frame))];
textView.textContainer.exclusionPaths = @[exclusionPath];
Solution 3
just add as a subview of TextView like bellow..
[yourTextView addSubview:yourImageView];
Solution 4
Check this out, ios-5-rich-text-editing-series . In iOS 5 you can insert images and use HTML texts. You might have to use UIWebview
and webkit.
You can also check with EGOTextView which has a lot of rich text editing features.
user1645721
Updated on June 04, 2022Comments
-
user1645721 almost 2 years
In my app I have a
UITextView
and a button just below the text view to insert a photo into theUITextView
while editing.My requirement is that the user user is able to edit the text within, and insert images when needed.
Similar to StackOverflow's app's own
UITextView
: