2014-02-05 3 views
0

У меня есть пользовательский элемент, который включает в себя 3 части (Sales Rep, премии, Подпись) (смотрите изображение ниже)Как создать несколько заголовков заголовков TableView?

Я хочу иметь три названия в моем заголовке Tableview, но я только знаю, как добавить еще один титул с встроенный метод. Кто-нибудь может мне помочь?

enter image description here

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section 
{ 
    return @"My Title"; 
{ 
+0

вы должны вернуть номер раздела 3; в этом методе »- (NSInteger) numberOfSectionsInTableView: (UITableView *) tableView« – Pawan

ответ

1

Вам нужно будет создать свой собственный вид, чтобы показать, как заголовок раздела, вместо того, чтобы позволить OS создать для Вас, основываясь на тексте, который вы хотите в нем. Это позволяет вам полностью настраивать то, что вы хотите, содержаться в заголовке раздела.

Вы можете сделать это, возвращая вид в метод делегата:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 

Если вы хотите, заголовки разделов расколоть на строку, то вам необходимо иметь несколько разделов. Для каждого раздела существует 1 заголовок раздела, поэтому, если вам нужны 3 заголовка, вам нужно будет иметь 3 раздела. Вы можете указать таблице количество секций вы хотите через:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 

Тогда в методах делегата, которые обеспечивают индексный раздел целое число, то использовать, чтобы различать между секциями. Если вместо них указывается указательный путь, вы можете получить номер секции через indexPath.section

+0

он по-прежнему показывает только один заголовок. – Greg

+0

вы должны вернуть номер 3; в этом методе »- (NSInteger) numberOfSectionsInTableView: (UITableView *) tableView« – Pawan

+0

Я пробовал это, но я не вижу способа сделать больше одного заголовка таким образом. – user3071579

0
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    UIView *view = nil; 
    UIView *header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 40)]; 
    CGFloat x=0; 
    for (int i = 0;i<[list count];i++) 
    { 
    id val=[list objectAtIndex:i]; 
    CGFloat val1=[val floatValue]; 
header.backgroundColor = [UIColor grayColor]; 

    UILabel *newLabel = [[UILabel alloc] initWithFrame:CGRectMake(x, 0,107,40)]; 

    newLabel.text=[NSString stringWithFormat:@"%@",list[i]]; 

    newLabel.textAlignment = NSTextAlignmentCenter; 

    newLabel.backgroundColor = [UIColor greenColor]; 
    newLabel.layer.borderColor = [UIColor whiteColor].CGColor; 
    newLabel.layer.borderWidth = 2; 
    [header addSubview:newLabel]; 

    x=x+newLabel.frame.size.width; 


} 

return header; 
} 
+0

Используйте для циклического добавления один за другим в заголовок. Задайте размер представления таблицы на основе размера заголовка. Вот оно. –

Смежные вопросы