Need help with PanelTableView?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

honcheng
200 Stars 47 Forks 20 Commits 5 Opened issues

Description

Multiple UITableViews in a UIScrollView

Services available

!
?

Need anything else?

Contributors list

# 33,008
homekit
homebri...
Objecti...
C
11 commits
# 126,455
Objecti...
Shell
vue-tes...
vuejs
2 commits

PanelTableView for iOS

Creates a UIViewController with multiple UITableView in a UIScrollView

Features

  • 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

Instructions

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

Contact

honcheng.com
@honcheng

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.