这涉及iPhoneOS-sdk-3.2
我无法更改分组的UITableView的边框颜色.我可以很容易地改变单元格背景颜色,分隔符颜色,文本颜色,并且正确地修改圆角,即使用我选择的任何颜色突出显示.然而,尽管有许多不同的尝试,但周围的边界仍然是令人愤怒的灰色
我已经阅读了我可以通过Google找到的所有相关帖子,更不用说stackoverflow了.我见过Mike Akers用于UITableViewCell剪辑的英雄PITA解决方案 - 这个问题已经解决了iPhoneOS 3.0并且它对边框没有帮助.
我尝试了基于编程和基于xib的解决方案,并且都提供了相同的结果.
我将分享下面的程序化版本:
我有一个UIViewController子类而不是UITableViewController子类充当UITableView委托 - 我选择了这条路线,因为我在iPad上编码,据说UITableViewController接管了整个屏幕.我的UIViewController子类的loadView方法:
- (void) loadView { self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; [self.view release]; self.view.backgroundColor = [UIColor blackColor]; // add and configure UITableView CGRect tableViewRect = CGRectMake(0., 0., 256., 768.); myTableView = [[UITableView alloc] initWithFrame:tableViewRect style:UITableViewStyleGrouped]; // set the tableview delegate to this object and the datasource to the datasource which has already been set myTableView.delegate = self; myTableView.dataSource = self; myTableView.sectionIndexMinimumDisplayRowCount = 1; myTableView.backgroundColor = [UIColor clearColor]; myTableView.separatorColor = [UIColor whiteColor]; myTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; myTableView.opaque = NO; // add the table view to our background view [self.view addSubview:myTableView]; [myTableView release]; }
ctpenrose.. 5
我找到了解决方案.这种行为似乎确实是iPhoneOS 3.2,因为Apple在iPhoneOS 3.2中为UITableView添加了一个backgroundView属性.
我尝试了[myTableView.backgroundView removeFromSuperView],而UITableView只是将其替换为另一个.
相反,我的解决方案是添加:
myTableView.backgroundView.hidden = YES;
我找到了解决方案.这种行为似乎确实是iPhoneOS 3.2,因为Apple在iPhoneOS 3.2中为UITableView添加了一个backgroundView属性.
我尝试了[myTableView.backgroundView removeFromSuperView],而UITableView只是将其替换为另一个.
相反,我的解决方案是添加:
myTableView.backgroundView.hidden = YES;