设置moreViewController TableView背景颜色

时间:2015-03-05 07:37:58

标签: ios objective-c uitableview

花了好几个小时试图解决这个问题之后,我想我已尽力而为,我在这里寻求帮助:)

我在UINavigationController中有3行UITableView,我可以设置三个单元格的背景但其他空单元格的颜色不同(我只是不明白它需要那种颜色!)

我试图设置UITableView背景颜色,但是没有办法做到这一点,它永远不会改变:我哪里错了?因为我必须犯错。

以下是我写的代码。

您如何更改剩余的空单元格或修复UITableView背景颜色?

…

[[[tabBarController.viewControllers objectAtIndex:4]tabBarItem]setTitle:@"Settings"];

[[[tabBarController.viewControllers objectAtIndex:5]tabBarItem]setTitle:@"Hazards"];

[[[tabBarController.viewControllers objectAtIndex:6]tabBarItem]setTitle:@"Beaufort Scale"];

…

UIViewController *tabBarMore =      [tabBarController.moreNavigationController.viewControllers objectAtIndex:0];

[tabBarMore.navigationController.navigationBar setBarTintColor:[UIColor colorWithRed:3.0/255.0 green:30.0/255.0 blue:100.0/255.0 alpha:1.0]];

NSDictionary *textAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
                                    [UIColor whiteColor],NSForegroundColorAttributeName,
                                    nil]; 

tabBarMore.navigationController.navigationBar.titleTextAttributes = textAttributes;

tabBarMore.navigationController.navigationBar.topItem.title = @"More";



UITableView *moreTableView = (UITableView *)tabBarController.moreNavigationController.topViewController.view;


int n = (int)[((UITableView *)tabBarMore.view) numberOfRowsInSection:0];

for (int i = 0; i < n; i++)
    {
        UITableViewCell *cell = [((UITableView *)tabBarMore.view) cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0]];

        [cell setBackgroundColor:[UIColor colorWithRed:20.0/255.0 green:41.0/255.0 blue:97.0/255.0 alpha:1]];

        static NSString *cellId = @"Cell";
        cell = [((UITableView *)tabBarMore.view) dequeueReusableCellWithIdentifier:cellId];
    }

1 个答案:

答案 0 :(得分:0)

定义静态单元格后设置背景。