How can I set up a background image to UITextView
?
I found one simple method how to set background image.
h file
@interface FNTextView : UITextView
@end
m file
...
- (void)drawRect:(CGRect)rect
{
[self.bgImage drawInRect:rect];
[super drawRect:rect];
}
- (void)initHandler
{
self.bgImage = [[UIImage imageNamed:@"textview_bg"] resizableImageWithCapInsets:UIEdgeInsetsMake(4, 4, 4, 4)];
}
...
UITextView *textView=[[UITextView alloc]initWithFrame: CGRectMake(20, 20, 40, 40)];
textView.text = @"this is a test \n this is test \n this is a test";
UIImageView *img = [[UIImageView alloc]initWithFrame: textView.frame];
img.image = [UIImage imageNamed: @"image.png"];
[self.view addSubview:textView];
[self.view insertSubview:img belowSubview:textView];
Not sure about, but you can try the following, assuming that your background image is handled by a UIImageView:
[myTextView addSubview: myImageView];
Note that you may need to change the value of the alpha/opaque properties of your UITextView.
Kind Regards.
The answers of @dulcanwilcox and @oxigen both work, but, an addition would be to make the background image resizable, in case the image is being used to show some kind of border.
UITextView *textView = [[UITextView alloc]initWithFrame: window.frame];
textView.text = @"Some text...";
UIImageView *imgView = [[UIImageView alloc]initWithFrame: textView.frame];
imgView.image = [[UIImage imageNamed: @"image"] resizableImageWithCapInsets:UIEdgeInsetsMake(8, 8, 8, 8)];
[textView addSubview:imgView];
[textView sendSubviewToBack:imgView];
[window addSubview:textView];
Check out the documentation for resizableImageWithCapInsets:(UIEdgeInsets)capInsets.