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

第一种方法:

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

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

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

[myView setBackGroundColor:bgColor];

第二种方法:

利用UIView的sendSubviewToBack方法

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

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

 [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

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

  1. UIView 设置背景图片

    http://blog.csdn.net/qijianli/article/details/7777268 项目中,可能需要我们为某个视图设置背景图片,而API中UIView没有设置背景图片的方法,那 ...

  2. CSS 背景图片 添加 重复和定位。

    <!doctype html><html lang="en"> <head> <meta charset="UTF-8" ...

  3. 【android开发笔记】为Button的背景图片添加边框式样式效果

    现在做的项目遇到一个问题,设计给过来的图片只有一种状态,但是实现的需求是要求有两个状态,另一种选状态为图片背景加边框.如图: 刚开使用使用ImageView ,ImageViewButton 效果不是 ...

  4. ios UITableView背景图片设置

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPa ...

  5. UIview定义背景图片

    UIImage *image = [UIImage imageNamed:@"bgimagename"];    UIView *view = [[UIView alloc]ini ...

  6. [BS-29] 给UIView添加背景图片

    给UIView添加背景图片 //默认情况下只能设置UIView的背景颜色,不能给UIView设置背景图片,但通过绘图知识可以做到 - (void)drawRect:(CGRect)rect { [su ...

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

    1.uiscrollview 设置背景图片 // Setup the Scroll ViewUIScrollView*tempScrollView=(UIScrollView*)self.view;t ...

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

    一 . 设置UIView的背景图片 1.将图片作为UIView的背景色,该方法过于占内存,不建议使用.     //1.imageNamed方式 self.view.backgroundColor = ...

  9. 设置JFrame背景图片

    这里我就放上改写的代码吧,不做多的解释,推荐一个好的博文 https://blog.csdn.net/jdsjlzx/article/details/16831815 public void ini_ ...

随机推荐

  1. 修改Eclipse格式化代默认长度

    eclipse 默认设置的换行长度为80, 格式化代码后,同一个方法里面参数也经常被,换行,非常难看 1.Java代码打开Eclipse的Window菜单,然后 Preferences->Jav ...

  2. 51nod1437 迈克步

    傻叉单调栈 #include<cstdio> #include<cstring> #include<cctype> #include<algorithm> ...

  3. mysql免安装版安装

    MySQL是一个小巧玲珑但功能强大的数据库,目前十分流行.但是官网给出的安装包有两种格式,一个是msi格式,一个是zip格式的.很多人下了zip格式的解压发现没有setup.exe,面对一堆文件一头雾 ...

  4. 同步内核缓冲区sync、fsync和fdatasync函数

    转自http://www.2cto.com/os/201409/339460.html 同步内核缓冲区 1.缓冲区简介 人生三大错觉之一:在调用函数write()时,我们认为该函数一旦返回,数据便已经 ...

  5. typedef函数指针用法

    typedef void(*vp)(); 将vp声明为一个函数指针类型,该类型的指可以针指向一个没有参数,带空返回值的函数. 调用方法vp p;创建一个vp类型的函数指针p void print(vp ...

  6. Mac下配置环境变量

    1.创建并以 TextEdit 的方式打开 ~/.bash_profile 文件,如果没有则 touch ~/.bash_profile; 然后打开 vim ~/.bash_profile 2.新增环 ...

  7. 【appium】关于logcat

    SDK的文档要看 http://developer.android.com/tools/help/logcat.html http://developer.android.com/tools/debu ...

  8. SSH思路

    hibernate的配置写到spring的配置中,用spring管理和调用hibernate的工厂和session等.struts的话,通常有2中.一种是用spring中的一个工厂类代替struts的 ...

  9. taobao

    taobao */--> UP | HOME taobao Table of Contents 1 taobao 1 taobao 欣然小铺 Date: 2013-09-25 Wen Autho ...

  10. ulimit 命令

    用途:ulimit用于shell启动进程所占用的资源. 类别:shell内建命令 语法格式:ulimit [-acdfHlmnpsStvw] [size] 参数: -H 设置硬资源限制. -S 设置软 ...