iPhone-SDK:如何设置View的背景颜色而不是Table?

时间:2009-09-20 18:19:42

标签: iphone

我从互联网上下载了TableView示例代码'4_TableViewCellSubviews'。我试图以我的方式运行这个程序。我试图将自己的背景视图颜色设置为'lightgraycolor'。我只想在这个应用程序中将背景视图看作lightgraycolor。我不想为TableView制作任何颜色。即我只想为背景视图提供灰色,而不是为了桌子的背景。 当我提供的代码为'[self.view setBackgroundColor:[UIColor lightGrayColor]];' ,它也改变了整个桌子的颜色。但我试图只为表格上的视图设置颜色。如何仅为背景视图设置背景颜色,而不为TableView设置背景颜色。 我知道我提供的用于设置彩色背景视图的代码是完美的。但。, 遇到这个问题的人可以向我提出一些建议,我们可以解决这个问题和解决方案吗?

我将sreenshot保留在以下位置:

http://www.quickfiles.net/894107

需要紧急帮助......通过提出您的宝贵意见来寻求解决方案......

我想大多数人都误解了我的问题。 当我们向下滚动表格时,我希望在空间上有颜色,我们在tableview的背景中看到顶部的空白空间。 例如,下载名为“BusinessWeek”的免费新闻应用程序。您可以在iPhone设备中启动此应用程序。您可以看到主屏幕并向下滚动表格。您可以将背景颜色看作表格的灰色。我想以同样的方式做,请让我知道我该怎么办?

来福/

5 个答案:

答案 0 :(得分:2)

在这种情况下,'view'和'tableView'实际上是相同的,那就是颜色变化不能按你的意愿工作。为了说服你,在'viewDidLoad'函数中添加这两行,并在运行程序时查看控制台中输出的内容:

NSLog(@"tableView: %@", self.tableView);
NSLog(@"view: %@", self.view);

答案 1 :(得分:2)

抱歉,之前的答案评论需要修改如下步骤。我在这里写解决方案,因为如果他们遇到其他人,他们可以使用它。

  1. 在I.B中,创建UIView并根据需要设置颜色。在它上面创建表格。 在代码中创建一个TableView变量,并将其与I.B Table连接。

  2. 在viewDidLoad中,添加如下。     myTableView.backgroundColor = [UIColor clearColor]; myTableView.alpha = 0.9;     [super viewDidLoad];

  3. 在cellForRowAtIndexPath中添加以下代码:

    UIView *v = [[UIView alloc] initWithFrame:cell.frame];
    

    v.backgroundColor = [UIColor whiteColor]; cell.backgroundView = v; [v发布];     //如果你想要配件类型,请在下方添加以下内容.. cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

  4. 构建并运行您的应用程序。

答案 2 :(得分:0)

[tableView setBackgroundColor:[UIColor clearColor]];

答案 3 :(得分:0)

您应该将tableView添加为MainView的子视图。创建一个ViewController类,并以编程方式添加tableview方法和委托。在程序启动时,将tableview添加为Mainview的子视图。这样,UITableView和UIView应该是两个不同的部分,你应该能够正确地改变背景颜色。

答案 4 :(得分:0)

无论下面现有的查询是关于'Gutter'变色的话,我的问题也是一样的:

Set UITableViewCell background color on plain style table view?

目前我已通过以下代码解决了这个问题:

我创建了一个UIView并将背景颜色设置为“灰色”。我在它上面创建了一个TableView,并在那里连接tableView变量。

当我运行我的应用程序时,它在背景视图和表格中显示了灰色。我不希望表中有这种颜色,所以也添加了下面的代码来删除它。

在'viewDidLoad'

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

UIView * myView = [[UIView alloc] initWithFrame:cell.frame];  myView.backgroundColor = [UIColor whiteColor];  cell.backgroundView = myView;  [myView release];

cell.contentView.backgroundColor = [UIColor whiteColor];