UITextView背景图片

我如何设置一个背景图像到UITextView

你可以有一个UIImageView包含背景图像和UITextView作为兄弟,然后在界面生成器移动文本视图覆盖图像视图(或将它们都添加到相同的父视图,如果它以编程方式)。 您还需要确保文本视图不透明,并给它一个0%的不透明背景

 UITextView *textView = [[UITextView alloc]initWithFrame: window.frame]; textView.text = @"text\n text\n text"; UIImageView *imgView = [[UIImageView alloc]initWithFrame: textView.frame]; imgView.image = [UIImage imageNamed: @"myImage.jpg"]; [textView addSubview: imgView]; [textView sendSubviewToBack: imgView]; [window addSubview: textView]; 

@durai:你的图片有一个高度限制,如果在向下滚动后出现空白背景,那么会出现白色背景,然后你可以重复相同的图片。

这可能有帮助:

 textView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed: @"Image.png"]]; 

只是一个解释,当试着从@oxigen回答#9,我发现这一行:

 UIImageView *imgView = [[UIImageView alloc]initWithFrame: textView.frame]; 

是相对于textView.frame 。 所以你的xy值需要是0,0,如果你想它完全重叠,这意味着你想要的东西是这样的:

 UIImageView *imgView = [[UIImageView alloc]initWithFrame:textView.bounds]; 

我find了一个简单的方法来设置背景图像。

h文件

 @interface FNTextView : UITextView @end 

m文件

 ... - (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)]; } ... 
 [txtView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"image.png"]]]; 

对于平铺的背景,我喜欢这个解决scheme

 UIImage *patternImage = [UIImage imageNamed:@"image.png"]; UIColor* color = [UIColor colorWithPatternImage:patternImage]; textView.backgroundColor = color; 

不确定,但你可以尝试以下,假设你的背景图像是由UIImageView处理:

[myTextView addSubview:myImageView];

请注意,您可能需要更改UITextView的alpha / opaque属性的值。

亲切的问候。

 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]; 

@dulcanwilcox和@oxigen的答案都可以,但是,如果图像被用来显示某种边界,则可以调整背景图像的大小。

 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]; 

查看resizableImageWithCapInsets的文档:(UIEdgeInsets)capInsets 。