2016-04-24 14 views
3

Ich habe versucht, die Größe der Ansicht oder Einschränkungen hinzuzufügen, aber nicht funktionieren. enter image description hereUITableView Abschnitt Header überschneiden die angepasste HeaderView?

enter image description here

Dies ist der Code nicht:.

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
{ 
    if (section == 0) { 
     return 100; 
    } 
    return 0; 
} 

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    //self.mainViewTableView.tableHeaderView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 0, 0.1)]; 
    if (section == 0) { 
     UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 50, tableView.frame.size.width, 100)]; 
     //[view setBackgroundColor:[UIColor colorWithRed:240/255.0 green:240/255.0 blue:240/255.0 alpha:1]]; 
     [view setBackgroundColor:[UIColor redColor]]; 
     [self.mainViewTableView setTableHeaderView:view]; 
     return view; 
    } 
    else{ 
     return nil; 
    } 

} 

Aber wenn ich dies versuchen, funktioniert es finden (Dies ist nicht ich, ich will Kopfansicht in Storyboard hinzufügen, aber fügen sie es nicht programmatisch)

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, view.frame.size.width, 300)]; 
//[view setBackgroundColor:[UIColor colorWithRed:240/255.0 green:240/255.0 blue:240/255.0 alpha:1]]; 
[view setBackgroundColor:[UIColor redColor]]; 
[self.mainViewTableView setTableHeaderView:view]; 
+0

Sie die Lösung gefunden ... –

Antwort

0

es gibt zwei Arten von Headern in Tableview:.

  • main tableview header, oben angezeigt;
  • Abschnitt Header, in jedem Abschnitt angezeigt.

Wenn Sie von Storyboard geladen Abschnitt Header verwenden, sollten Sie IBOutlet Eigentum von UIView oder Unterklasse und fügen Sie sie vc in IB, wie so erklären:

enter image description here

hinzuzufügen tableHeaderView in IB, legen Sie es nur in der Spitze Ihrer Tableview:

enter image description here

+0

I Haupttableview-Header in storyboar verwenden möchten, aber Abschnittsheader überlappen die Haupt-Header wie der Screenshot, wie damit zu tun ? –

+0

Wenn Sie benötigen keinen Abschnittskopf, nur eine tableHeaderView - als Sie dieses Delegatmethode nicht außer Kraft setzen müssen: - (UIView *) tableview: (UITableView *) tableview viewForHeaderInSection: (NSInteger) Abschnitt { –

0

Set zPosition Blick, was Sie in tabl erstellt eView viewForHeaderInSection

swift Version:

sectionView.layer.zPosition = -1 
Verwandte Themen