UIView UITableView 背景图片添加

这几天,经常用到为某个视图设置背景图片,而API中UIView没有设置背景图片的方法,搜集归纳如下:

第一种方法:

利用的UIView的设置背景颜色方法,用图片做图案颜色,然后传给背景颜色。

UIColor *bgColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"bgImg.png"];

UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,480)];

[myView setBackGroundColor:bgColor];

第二种方法:

利用UIView的sendSubviewToBack方法

UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,480)];

UIImageView *bgImgView = [[UIImageView alloc]initWithFrame:CGRectMake(0,0,320,480)];

 [bgImageView setImage:@"bgImg.png"];

 [myView addSubView:bgImgView];

 [myView sendSubviewToBack:bgImgView];

 [bgImgView release];

 [myView release];

第三种方法:

IOS视图都是一个图层,最先放置的视图就会在最底层,如此,最先给一个视图添加一个UIImageView后,然后

在上面再一一添加其他控件,效果也跟背景图片差不多。

----------------------------------------------------------------------------------------------------------------

给UITableView添加背景图呢,可以按照方法:
1 在UITableView控件下面添加一个UIImageView控件,如图1,顺序不可更改,否则会压盖


2 将UITableView的background设置为ClearColor,如图2


3 同样的,将UITableView的父视图的background设置为ClearColor
4 这样背景图就设置好了,我们看一下效果,如图3:


5 可以发现在UITableView的四个转角地方有黑色块,没有完全使用背景图,非常难看,那么如何解决这个问题呢,只要在UITableView所在的ViewController种的viewDidLoad方法种添加下面的代码:

- (void)viewDidLoad {
self.tableView.backgroundColor = [UIColor clearColor];

}

也就是重新把tableView的backgroundColor 设置为clearColor。

谨慎怀疑这时ios的一个bug。

最后的效果如图4:

开发环境为xcode3.2.3 +ios sdk4.0

时间: 2024-10-06 00:20:34

UIView UITableView 背景图片添加的相关文章

UIView设置背景图片几种方式

一 . 设置UIView的背景图片 1.将图片作为UIView的背景色,该方法过于占内存,不建议使用. //1.imageNamed方式 self.view.backgroundColor = [UIColorcolorWithPatternImage:[UIImageimageNamed:@"image.jpg"]]; //2.方式    NSString *path = [[NSBundlemainBundle]pathForResource:@"image"o

UIView 设置背景图片

http://blog.csdn.net/qijianli/article/details/7777268 项目中,可能需要我们为某个视图设置背景图片,而API中UIView没有设置背景图片的方法,那么该如何实现呢? 第一种方法: 利用的UIView的设置背景颜色方法,用图片做图案颜色,然后传给背景颜色. UIColor *bgColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"bgImg.png"]; UIVie

uiscrollview UIView 设置背景图片 swift 不用colorWithPatternImage

colorWithPatternImage 非常占用内存,而且在swift中去掉了这个方法. sizeView.layer.contents = UIImage(named:"slect_bg")!.CGImage

iOS下uiview和uiscrollview设置背景图片的源码

1.uiscrollview 设置背景图片 // Setup the Scroll ViewUIScrollView*tempScrollView=(UIScrollView*)self.view;tempScrollView.contentSize=CGSizeMake(320,720); // Set Stationary Background, so that while the user scroll the background is// fixed.UIImage*img =[UII

iOS-UIView-设置背景图片4种方式

一 . 设置UIView的背景图片 1.将图片作为UIView的背景色,该方法过于占内存,不建议使用. //1.imageNamed方式 self.view.backgroundColor = [UIColorcolorWithPatternImage:[UIImageimageNamed:@"image.jpg"]]; //2.方式    NSString *path = [[NSBundlemainBundle]pathForResource:@"image"o

设置JFrame背景图片

这里我就放上改写的代码吧,不做多的解释,推荐一个好的博文 https://blog.csdn.net/jdsjlzx/article/details/16831815 1 public void ini_background() { 2 // 背景图片 3 ImageIcon background = new ImageIcon( 4 this.getClass().getResource("/img/登录背景.png")); 5 // 把背景图片显示在一个标签里面 6 JLabel

cell添加选中时的背景图片、显示图片和图片自适应框的大小

1.给cell添加选中时的背景图片 UIView *myview = [[UIView alloc] init]; myview.frame = CGRectMake(0, 0, 320, 47); myview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"0006.png"]]; cell.selectedBackgroundView = myview; 2.显示图片 CGRect my

UITableView设置背景图片

UITableView设置背景图片: 即设置tableView的backgroundView UIView *view = [[UIView alloc] init];    view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"view_bg_ipad.png"]];    self.tableView.backgroundView = view; UITableView设置背景图片

iOS设置UITableView的背景图片,以及不显示多余的空Cell

设置UITableView的背景图片:     UIImageView *imageView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"hi.jpg"]];     [self.tableView setBackgroundView:imageView]; 设置UITableView不显示多余的空Cell:     self.tableView.tableFooterView = [[UIView alloc] in