Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set background image of a view?

I am a beginner at Obj-C/Cocoa Touch/iPhone OS.

I wish to have a background for my app with different images everytime the the view is called.

Say I have 10 images. I 've used it like this:

//random image generation NSString* imageName; int aRandomNumber = arc4random() % 10; imageName =[NSString stringWithFormat:@"g%d.jpg",aRandomNumber];  self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageWithContentsOfFile:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:imageName]]]; NSLog(@"aRandomNumber is %d", aRandomNumber); //random image is generated 

Its working fine

  • Now, say I have text labels on my view and the text isn't displaying correctly due to image colors. How can I make it a little transparent? (I guess in Interface Builder its called alpha.)
  • Say my image isn't 320x480. How do I set it to fill the entire view?

How can I do it with UIView/UIImageView?

I found initWithHue:saturation:brightness:alpha: in the documentation but it's not working:

self.view.backgroundColor = [[UIColor alloc] initWithHue:0.0 saturation:1.0 brightness:1.0 alpha:1.0]; 

Please Help!


A friend suggested........

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageWithContentsOfFile:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:imageName]]]; 

..........he told it's more efficient because it doesn't save the image in the cache.

like image 687
Daniel Avatar asked Jan 30 '10 10:01

Daniel


People also ask

How do I add a background image in viewport?

Use background-size property to cover the entire viewport The CSS background-size property can have the value of cover . The cover value tells the browser to automatically and proportionally scale the background image's width and height so that they are always equal to, or greater than, the viewport's width/height.

How do you implement a background image?

The most common & simple way to add background image is using the background image attribute inside the <body> tag. The background attribute which we specified in the <body> tag is not supported in HTML5. Using CSS properties, we can also add background image in a webpage.

How do I make a picture as a background on my Web pages?

To set the background image of a webpage, use the CSS style. Under the CSS <style> tag, add the property background-image. The property sets a graphic such as jpg, png, svg, gif, etc. HTML5 do not support the <body> background attribute, so CSS is used to change set background image.


1 Answers

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"imageName.png"]]; 

more info with example project

like image 133
Gurumoorthy Arumugam Avatar answered Sep 23 '22 23:09

Gurumoorthy Arumugam