2017-12-10 3 views
0

Ich habe eine UITableView mit zwei Abschnitten. Der erste Abschnitt könnte 16 Zeilen haben und der zweite Abschnitt könnte 9 Zeilen haben. Ich habe zwei benutzerdefinierte ViewHeader für die Abschnitte mit einem Titel und benutzerdefinierten bakground.Wie repariert man eine HeaderView von UITableView?

Könnte möglich sein, setzen und halten Sie die Header-Abschnitte in einer bestimmten Position wie dieses Bild? Zeigen Sie dann nur ein paar Zeilen an und scrollen Sie, um dies anzuzeigen, aber behalten Sie die Abschnittsüberschrift auf dem Bildschirm mittig?

enter image description here

+1

Haben Sie versucht, 2 'UITableView' zu verwenden, um es zu erreichen? – trungduc

+0

Mit zwei UitableView scheint die beste Idee, um dies zu erreichen –

+0

Sehr benutzerdefinierte Aufgabe, ich denke, Sie müssen UICollectionView mit benutzerdefinierten UICollectionViewLayout mit Stick-Header mit spezifischem Verhalten erstellen. Oder verwenden Sie einfach zwei Tabellen, wenn Sie statische Zeilen zählen. – Bimawa

Antwort

0

zwei Tableviews in einem Tableviewcontroller hinzufügen.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
if (tableView == myTableView1) { 
    // cell for tableView 1 
} else { 
    // cell for tableView 2 
} 

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { 
if (tableView == myTableView1) { 
    //return header section 0 
} else { 
    // return header section 1 

} 

Satz alle Delegatmethode wie diese.

Wie Höhe zu beheben?

in viewDidAppear gesetzt

[tableView1 setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height/2)]; 
[tableView2 setFrame:CGRectMake(0, self.view.frame.size.height/2, self.view.frame.size.width, self.view.frame.size.height/2)]; 
+0

Ich versuche diesen Code, aber nie die if-Bedingung für mi Sekunden TableView ausführen. Ich habe die UITableViews zu derselben Ansicht in .xib hinzugefügt und verwenden Sie registerNib: und reuseIdentifier benutzerdefinierte .xib-Zellen. Ich habe den Delegaten und dataSource hinzugefügt. Was könnte das Problem sein? Vielen Dank – user3745888

Verwandte Themen