增加一个好看的背景

给UITableView增加一个好看的背景能为应用程序增色不少,并能促进app的销售,但是随便增加一个背景图片会史你的app更加丑陋。

//This method produces odd artifacts in the background image:    ATableViewController *yourTableViewController = [[ATableViewController alloc] initWithStyle:UITableViewStyleGrouped];   yourTableViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"TableViewBackground.png"]];  

这种方法直接设置tableview的背景色,效果不佳。

正确的方式:在tableview后面放置一个背景视图,并将tableview设为透明色。

UIView *backgroundView = [[UIView alloc] initWithFrame: window.frame];   backgroundView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"TableViewBackground.png"]];   [window addSubview:backgroundView];      yourTableViewController = [[ATableViewController alloc] initWithStyle:UITableViewStyleGrouped];   yourTableViewController.view.backgroundColor = [UIColor clearColor];   [window addSubview:yourTableViewController.view];  

在用代码产生的tableViewcontroller中,可以通过loadview方法设置

- (void)loadView {        [super loadView];        UIImageView *v = [[[UIImageView alloc] initWithFrame:self.view.bounds] autorelease];        [v setImage:[UIImage imageNamed:@"table_background.png"]];        [self.view addSubview:v];                self.tableView = [[[UIView alloc] initWithFrame:self.view.bounds] autorelease];        [self.tableView setBackgroundColor:[UIColor clearColor]];        [self.view addSubview:self.tableView];    }   

在用nib初始化的tableViewcontroller中,可以的在初始化实例前设置

// create the view controller from your nib    MyViewController *vc = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];   vc.tableView.backgroundColor = [UIColor clearColor];      // create the background    UIImageView *iv = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"background.png"]];   iv.contentMode = UIViewContentModeCenter;   iv.userInteractionEnabled = TRUE;      [navigationController pushViewController:vc animated:YES];      // put the background behind the tableview    [vc.tableView.superview addSubview:iv];   [iv addSubview:vc.tableView];      // don't forget to release your view controller & image view!    [vc release];   [iv release];  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wywxpx.html