0

I have a lot of UITableViewControllers, and I want to have custom background color, and I don't want to copy this to all TVC:

self.tableView.backgroundColor =  [UIColor clearColor];
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"backgroundPattern.png"]];

Any ideas, please?

4

2 回答 2

0

看一下UIAppearance协议。您可以全局指定表视图的背景颜色,也可以指定包含在特定视图控制器类中时的背景颜色:

UITableView *appearance = [UITableView appearanceWhenContainedIn:[MyTableViewController Class], [MyOtherTableViewController class], nil];
appearance.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"backgroundPattern.png"]];

您可以将其放入您的应用程序委托的application:didFinishLaunchingWithOptions:方法中。

另外,view和的tableView属性UITableViewController指向同一个东西,所以你不需要同时设置。

编辑

尝试观看 2012 年 WWDC 视频,标题为自定义 UIKit 控件的外观。它们演示了UIAppearance协议以及您可能会发现有用的主题设计模式。

于 2013-05-28T02:14:42.790 回答
-1

您可以使用自己的类继承 UITableViewController,更改此类中的背景颜色并从该类派生 UITableViewControllers。

于 2013-05-27T16:48:12.943 回答