by honcheng

honcheng / PanelTableView

Multiple UITableViews in a UIScrollView

201 Stars 47 Forks Last release: Not found 20 Commits 2 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

PanelTableView for iOS

Creates a UIViewController with multiple UITableView in a UIScrollView


  • recycle views efficiently
  • save/restore table offsets for different panels
  • delegate and datasource similar to that of UITableView
  • PanelIndexPath behaves like IndexPath, but with an additional parameter, page


1) Drag required files to your XCode Project

PanelIndexPath.h & PanelIndexPath.m
PanelView.h & PanelView.m
PanelsViewController.h & PanelsViewController.m

2) Create a UIViewController that subclasses PanelsViewController

3) PanelsViewController contains a set of delegate/datasource methods that should be overridden in the subclass

Specifies the number of panels to create, similar to numberOfSectionsInTableView:

- (NSInteger)numberOfPanels

Specifies the number of rows in a particular page, at a particular section, similar to tableView:numberOfRowsInSection:

- (NSInteger)panelView:(PanelView *)panelView numberOfRowsInPage:(NSInteger)page section:(NSInteger)section

Similar to tableView:cellForRowAtIndexPath:

- (UITableViewCell *)panelView:(PanelView *)panelView cellForRowAtIndexPath:(PanelIndexPath *)indexPath

Create the panel. to create custom panels, subclass PanelView

- (PanelView *)panelForPage:(NSInteger)page

Similar to tableView:didSelectRowAtIndexPath:

- (void)panelView:(PanelView *)panelView didSelectRowAtIndexPath:(PanelIndexPath *)indexPath


We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.