Я хочу отобразить два блока текста в двух разных нижних колонтитулах моей таблицы.
Текст для раздела 3 используется titleForFooterInSection
:
- (NSString *)tableView:(UITableView *)tv titleForFooterInSection:(NSInteger)section
{
if (section == 3)
return @"SOME TEXT FOR SECTION 3";
else
return @"";
}
, он отлично работает и оформлен правильно.
Я также хочу добавить текст более сложного форматирования (на самом деле только с выравниванием по левому краю), поэтому я создаю метку и добавляю ее в viewForFooterInSection
, который работает, но не дополняется (не начинается с x = 20 & y = 20, начинается вплотную к краю главного окна) и оформлен не так, как другой текст.
- (UIView *)tableView:(UITableView *)tv viewForFooterInSection:(NSInteger)section
{
if (section == 1)
{
UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(20, 20, 100, 50)] autorelease];
label.text = @"SOME COMPLICATED TEXT FOR SECTION 1\r\n"
"\r\n"
"MORE TEXT HERE\r\n"
"AND HERE.\r\n"
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont systemFontOfSize:14];
label.shadowColor = [UIColor colorWithWhite:0.8 alpha:0.8];
label.textColor = [UIColor blueColor];
label.lineBreakMode = UILineBreakModeWordWrap;
label.textAlignment = UITextAlignmentLeft;
label.numberOfLines = 0;
[label sizeToFit];
return label;
}
else
return nil;
}
-(CGFloat)tableView:(UITableView *)tv heightForFooterInSection:(NSInteger)section
{
if (section == 1)
return 180.0f;
else if (section == 3)
return 50.0f;
else
return 0.0f;
}