我正在使用
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
customView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 24.0)];//custom view
// create the button object
headerLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 3, tableView.bounds.size.width, 18)];//header label
headerLabel.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource: @"section" ofType: @"png"]]];
customView.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource: @"section" ofType: @"png"]]];
headerLabel.textColor = [UIColor whiteColor];//text color of header label
headerLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:15];//font of header label
headerLabel.font = [UIFont boldSystemFontOfSize:15];
headerLabel.frame = CGRectMake(0.0, 0.0, 320.0, 24.0);//frame of header label
if(searching)//checking searching {
headerLabel.text = @" Search Results";//searching results as a text of header label
}
else {
if(section == 0)//checking which section is chosen {
headerLabel.text = @" Sponsored";//sponsored as header label
}
else {
headerLabel.text = @" Unsponsored";//un sponsored as header label
}
}
if(searching)//checking searching {
headerLabel.text = @" Sök resultat";//sok resultant text as a header label
}
else {
if(section == 0)//checking which section is chosen {
headerLabel.text = @" Sponsrade";//sponsorade as text of header label
}
else {
headerLabel.text = @" Un Sponsrade";//usponsrade as text of header label
}
}
[customView addSubview:headerLabel];//header label as a subview
//NSLog(@"endOfviewForHeaderInSection");
//[headerLabel release];
return customView;//returning custom view
[customView release];
//NSLog(@"endOfviewForHeaderInSection");
}
在表视图的头部分中,在两个部分中划分表,当我在上下滚动表视图时,内存分配增加非常快,但是在头部分上没有使用上面提到的代码,没有内存分配和应用程序工作得很好,但是需要在头部分上使用上面的代码,我不能从头文件中删除代码,我也想减少内存分配。还有没有其他方法可以解决这个问题呢?。
提前谢谢。
最佳答案
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
//NSLog(@"startOfviewForHeaderInSection");
// create the parent view that will hold header Label
customView = nil;
[customView release];
headerLabel =nil;
[headerLabel release];
customView = [[UIView alloc]init];
headerLabel = [[UILabel alloc]init];
// customView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 24.0)];//custom view
// create the button object
// headerLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 3, tableView.bounds.size.width, 18)];//header label
//customView.frame = CGRectMake(0.0, 0.0, 320.0, 24.0);
//headerLabel.frame = CGRectMake(0.0, 0.0, 320.0, 24.0);//frame of header label
//DetailedCoupon *detailedcouponObj = [[DetailedCoupon alloc]init];//object of detailed
headerLabel.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource: @"section" ofType: @"png"]]];
//customView.backgroundColor = [detailedcouponObj getColor:@"D7D8D1"];//background color
customView.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource: @"section" ofType: @"png"]]];
//headerLabel.backgroundColor = [UIColor blackColor];
// headerLabel.opaque = NO;//opaque header label
headerLabel.textColor = [UIColor whiteColor];//text color of header label
// headerLabel.highlightedTextColor = [UIColor whiteColor];//highlighted text color of header label
// headerLabel.font = [UIFont boldSystemFontOfSize:20];//font of header label
headerLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:15];//font of header label
headerLabel.font = [UIFont boldSystemFontOfSize:15];
headerLabel.frame = CGRectMake(0.0, 0.0, 320.0, 24.0);//frame of header label
NSUserDefaults *pref = [NSUserDefaults standardUserDefaults];//object of NSUserDefault
NSString *storeLanguage = [pref objectForKey:@"language"];//store language of string type
if ([storeLanguage isEqualToString:@"English"])//comparison of language choosed
{
if(searching)//checking searching
{
headerLabel.text = @" Search Results";//searching results as a text of header label
}
else {
if(section == 0)//checking which section is choosed
{
headerLabel.text = @" Sponsored";//sponsored as header label
}
else
{
headerLabel.text = @" Unsponsored";//un sponsored as header label
}
}
}
else
{
if(searching)//checking searching
{
headerLabel.text = @" Sök resultat";//sok resultant text as a header label
}
else {
if(section == 0)//checking which section is choosed
{
headerLabel.text = @" Sponsrade";//sponsorade as text of header label
}
else
{
headerLabel.text = @" Un Sponsrade";//usponsrade as text of header label
}
}
}
[customView addSubview:headerLabel];//header label as a subview
//NSLog(@"endOfviewForHeaderInSection");
//[headerLabel release];
storeLanguage = nil;
[storeLanguage release];
return customView;//returning custom view
[pref release];
[customView release];
//NSLog(@"endOfviewForHeaderInSection");
}