I am looking to create a table that has the following features:
- Variable number of columns that scroll horizontally with the rest of the table
- Variable number of lockable columns that don't scroll horizontally with the rest of the table
- Sortable column headers
- Scrolls vertically
- Scrolls horizontally
I have seen people use different strategies to accomplish similar functionality including:
- UITableview with each table cell containing a UITableview transformed 90 degrees placed inside of another UIScrollview to handle the horizontal scrolling. For this to work however i would need to use locked rotated tableviews for each cell and it seems like there would be some funkiness with cell dequeing if i wanted to scroll the entire main table instead of the table within each table cell.
- A variation of number one but using a custom uiview instead of a uitableview for each tablecell. (leading candidate so far)
- Custom UIScrollview class that replicates the functionality of a UITableview with added features such as MDSpreadView. Seems like the most flexible and most difficult to implement.
Does anyone have any examples/suggestions/advice on what to look into that will be reasonably easy to get up and running, great scrolling performance, and flexible.
I am still in the planning phase, trying to figure out the best way to go about this and have put down some ideas so far which consists of two uitableviews with synced scrolling. The left table view would be used for the locked columns and the right table would be used for the horizontal scrolling table. Both tables would use the same uiviews as tablecells with custom uiview objects for each column.

UPDATE
It seems pretty straight forward to be able to sync the scrolling between the locked columns and horizontally scrolling tables and so far this seems to be the option i am leaning towards (#2 above). Does anyone see any potential pitfalls or roadblocks with this approach?
A great example of the desired finished product i am after can be found in the Roambi App (screenshot below)

Thx
