The ARTableViewPager is an iOS component for horizontal table view scrolling/paging.
This component gives you the possibility to manage multiple UITableViews with one ViewController. To change the displayed table view you can either use a swipe gesture or the PageControl in the header. Its very easy to use just like the standard UITableViewController. You simply subclass ARTableViewPagerViewController!
Please enjoy this framework!
- manage multiple UITableViews with one ViewController
- horizontal scrolling/paging to switch between the table views
- very easy to use but also highly customizable
- supports all UITableView delegate methods with an additional parameter which contains the page index.
- uses ARC
- MIT open source licence
How to use
Create a subclass of the
In your subclass you have to implement the delegate methods to setup the table views. The ARTableViewPager extents the UITableView delegate methods by the page index so you can setup the ViewController just like a normal UITableViewController but within the methods you can do something different for each page index.
tableViewForPageIndex:methods you can access the table views and do some additional configuration to them.
Create an instance of your Subclass with one of the initializers e.g.
optional: Configure the instance using the build in properties
Add it to the the screen. Note: If you use the ARTableViewPager with a UINavigationController you have to adjust the frame first by setting the frame property of the view controller like in the Simple Example.
Specify the title String for each page. If you use this property a default View is used to present the title.
Use your own View to present the title of the pages. This property overrides the titles from the
titleStrings property. The size is automatically scaled to fit into the pageControl header.
Customize the View displayed on the left side of the PageControl header. If this property is nil a default view is used.
Customize the View displayed on the right side of the pageControl header. If this property is nil a default view is used.
The default background color of the pageControl header.
The height of the pageControl header. This property have to be set before the view is displayed on screen.
If set to YES no header is shown.
The background color behind the table views. It doesn't scroll whit the table views.
The background color behind the table views. It overlays the
fixedBackgroundColor and scrolls with the table views.
The total page count.
The view conturing the the paging control and the pageControl header.
Initialize the TableViewPager with a number of Pages. It automatically creates the correct number of table views.
Initialize the TableViewPager with an array of Views containing the titles for each page.
Initialize the TableViewPager with an array of title strings for each page.
Get the array of all used UITableViews. The position in the array corresponds with the index of the page the table view is displayed.
Get the specific UITableView for a certain page index.
Gives you the page index of the current displayed page.
Changes the displayed page to the given page index. If animated is YES the change is animated with a swipe.
Copyright (c) 2012 arconsis IT-Solutions GmbH (http://www.arconsis.com )
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.