UITableView – tabellvyer Applikationsutveckling för iPhone och iPad, 725G60 UITableView • Exempel • Hur funkar den • • • delegate och datasource • cellForRowAtIndexPath • tableView:numberOfRowsInSection: • och många fler Konstruera UITableViews med Storyboards • Statiska • Dynamiska Demo UITableViews UITableViews • Innehåller vertikalt ordnade celler • • • Varje cell har en egen vy Återanvänder celler • Minimal minnesanvändning • Maximal responsivitet Flexibilitet! • Alla celler kan vara olika • Headers/footers/sektioner • Editing mode • Multi-row selection UITableViews • Ärver från UIScrollView • Styrs generellt/helst av en UITableViewController • En UIViewController med protokollen UITableViewDelegate & UITableViewDataSource • Några extra properties och metoder exempel refreshControl & clearsSelectionOnViewWillAppear • Celler är instanser av UITableViewCell • Hämtar data från UITableViewDataSource • Hämtar beteende från UITableViewDelegate • Celler är uppdelade i sektioner • Varje sektion har en valbar header och footer UITableViews • Alla celler har en reuseIdentifier- sträng • Tabellen ropar på cellForRowAtIndexPath när en ny cell behövs Cell 7 • dataSource-implementeraren hämtar rätt sorts Reuse queue cell från tabellens reuse queue • • Om kön är tom skapar tabellen en ny cell När cell åker ur bild hamnar den i sin sorts reuse queue Cell17 UITableViews • UITableViewDataSource • Hämtar data åt tabellen • Två obligatoriska metoder • numberOfRowsInSection – Hur många celler i varje sektion? • cellForRowAtIndexPath – Sätt upp och returnera en cell • numberOfSectionsInTableView – Hur många sektioner finns? (default 1) • titleFor Header/Footer InSection • commitEditingStyle: forRowAtIndexPath – hör ihop med ändring (kommer senare) • och många fler UITableViews • UITableViewDelegate • Sätter beteende för tabellen • didSelectRowAtIndexPath – Körs när en cell markeras • viewFor Header/Footer inSection – Anger egna vyer för headers/footers • editingStyleForRowAtIndexPath – Hur ska cellen bete sig i editing mode? • och många fler UITableViews • Hur gör jag? • Absolut lättast med storyboard • • Static • Används för ett statiskt antal celler, tänk inställningar applikationen • Behöver ej implementera UITableViewDataSource! Dynamic • Används för ett dynamiskt antal celler • Bygg olika sorts prototypceller • Hämta rätt cell för rätt rad i din UITableViewController UITableViews • Demo Läs mer • UITableView klassreferens • UITableViewController klassreferens • UITableViewCell klassreferens • View Controller Programming Guide for iOS