Rob*_*bin 18 iphone cocoa-touch uitableview
在模型UIViewController中,我有以下loadView实现(一切都是以编程方式创建的):
- (void)loadView {
// Add Basic View
UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 540, 620)];
myView.backgroundColor = [UIColor clearColor];
self.view = myView;
[myView release];
// Add NavigationBar
// Add a BG image
// Add Table
UITableView *tbView = [[UITableView alloc] initWithFrame:CGRectMake(30, 80, 480, 250) style:UITableViewStyleGrouped];
tbView.dataSource = self;
tbView.delegate = self;
tbView.scrollEnabled = NO;
tbView.backgroundColor = [UIColor clearColor];
[tbView reloadData];
[self.view addSubview:tbView];
[tbView release];
// some more code
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我将backgroundColor设置为clearColor,但是当我编译并运行代码时,我总是看到桌子后面的灰色背景:

我不明白我做错了什么(听起来很愚蠢,我知道),我曾经有过相同的代码而且工作得非常好.我正在使用iOS SDK 4.2.1进行编译
Joh*_*ker 43
您还需要在最近(从3.2)版本的iOS上将UITableView的backgroundView属性设置为nil.
因此,添加......
tbView.backgroundView = nil;
Run Code Online (Sandbox Code Playgroud)
......应该解决你的问题.
也就是说,如果你想保持与3.2之前的设备的兼容性,你应该instancesRespondToSelector在调用它之前通过该方法检查是否存在这种兼容性.
Wri*_*sCS 12
确保您设置了以下3个选项:
tbView.opaque = NO;
tbView.backgroundColor = [UIColor clearColor];
tbView.backgroundView = nil;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14902 次 |
| 最近记录: |