我的应用程序在4.3.1模拟器中显示了这个,在5.0模拟器中显示了这个。
这是代码:
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
return @"";
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
return [[Singleton sharedInstance] getTitleSectionView:segmentedControl.selectedSegmentIndex inDay:section];
}
-(UIView *)getTitleSectionView:(int)week inDay:(int)day;
{
UILabel *lab=[[[UILabel alloc]init]autorelease];
lab.frame=CGRectMake(5, 0,320,20);
lab.text=[[Singleton sharedInstance] getTitleSection:week inDay:day];
lab.backgroundColor=[UIColor clearColor];
lab.textColor=[UIColor whiteColor];
lab.font = [UIFont fontWithName:@"Arial" size:14];
UIImageView * imv = [[[UIImageView alloc]initWithFrame:CGRectMake(0,0, 320, 20)]autorelease];
imv.image=[UIImage imageNamed:@"section-header-bg.png"];
UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 20)]autorelease];
[view addSubview:imv];
[view addSubview:lab];
Week *currentWeek = nil;
if(week)
currentWeek = nechetNedel;
else
currentWeek = chetNedel;
NSMutableArray *dayArray = [currentWeek.days objectAtIndex:day];
if([dayArray count] >0)
return view;
return nil;
}
可能是什么问题,为什么5.0节模拟器中出现了多行?我试图删除方法- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
,但它没有帮助。我删除了这个方法(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
,这些行消失了
答案 0 :(得分:5)
你应该为空部分返回nil
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;
和
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;
应该返回0
然后它会起作用。这是iOS 5.x问题(或功能)