2012-05-08 4 views
0

Может ли кто-нибудь сказать мне, возможно ли изменить размер по умолчанию разделаIndexTitles в UITableView? Если да, то как?Как изменить размер разделаIndexTitles в UITableView?

+1

Вы не можете изменить размер. Ваше единственное решение для настройки IndexTitles - создать его собственный AFAIK – Lefteris

ответ

0
for(UILabel *aView in [tableView subviews]) 
    { 
     NSLog(@"frame:%@",aView); 
     if([[[aView class] description] isEqualToString:@"UITableViewIndex"]) 
     { 

      aView.font=[UIFont fontWithName:@"Helvetica-Bold" size:18.0]; 

     } 
    } 

Вы можете настроить это в соответствии с вашими потребностями.

+0

Я спрашиваю, как изменить размер? что я должен реализовать внутри changeSectionIndexTitleSize? –

+0

привет, мне просто интересно, было ли это отвергнуто яблоком, если вы напрямую подключались к UITableViewIndex? – slik

1

Вы должны реализовать

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

в вашем UITableViewDelegate, как описано here

Вот пример:

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { 
    UIView *headerView = [[[UILabel alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 60)] autorelease]; 
    [headerView setBackgroundColor:[UIColor clearColor]]; 

    UILabel * headerLabel=[[UILabel alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 60)]; 
    [headerLabel setBackgroundColor:HEXCOLOR(0x952039FF)]; 

    [headerLabel setTextColor:[UIColor whiteColor]]; 
    [headerLabel setShadowColor:[UIColor grayColor]]; 


    CGRect frame = headerLabel.frame; 
    frame.origin = CGPointMake(20,frame.origin.y); 
    headerLabel.frame = frame; 

    [headerLabel setText:[self sectionTitles:section]]; 
    [headerView addSubview:headerLabel]; 
    [headerLabel release]; 

    return headerView; 

}

sectionTitles относится к простой функции возврата раздел названия.

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