In our current iPhone project, we're supposed to gather and present rather huge amounts of data in comparison to what we're used to in our development group.

What we're supposed to present is as shown below, and then some.

loneart Benam                    ursprung_not fromdat  tomdat   antal                  antal_enhet apris                  belopp
------- ------------------------ ------------ -------- -------- ---------------------- ----------- ---------------------- ----------------------
 70     Månadslön                                               136                    tim         0                      11000
 73     Periodens närvarotid                                    136                                0                      0
400     Fackavgift                                              0                                  0                      -108,84
601     Semester                              20070504 20070504 8                                  -506                   -4048
610     Semesterlön                                             8                                  506                    4048
622     Semestertillägg 0,8%                                    8                                  88                     704
900     Sjukdom                               20070515 20070516 16                                 0                      0
901     Sjukavdrag karensdag                  20070514 20070514 8                                  -63,4615384615385      -507,69
902     Sjukavdrag 100%                                         16                                 -63,4615384615385      -1015,38
904     Sjuklön 80%                                             16                                 50,7692307692308       812,31

Now, we're quite stunned as we don’t know how to present this in a good way. Since this will obviously take up quite a lot of space on the iPhone display. We've looked at scrollviews and tableviews, and we've yet to find out a proper way to display this. Edit: There will always be seven columns, and there can be an unknown number of values in each column, ranging from 1 to 200. Any pointers or tips would be highly appreciated.

I will post a bounty for this question whenever I can

  • 1
    I hope you know that you can set height and width of a scroll view and display the scroll bar to know the size.
    – Praveen S
    Commented Jun 28, 2011 at 9:10
  • And if i were to use a scrollview, how would i get the data to show? By adding 5000 labels or mashing it into a tableview with seven columns?
    – Da_smokes
    Commented Jun 28, 2011 at 9:14
  • Can you elaborate on why a tableview or scrollview won't work for this? I agree that it will be challenge to do this on the iPhone, but that is more a function of the data you are displaying then the tableview itself. The fact is there is a limited amount of screenspace available and no matter what you do you will have to compromise a bit to display your data.
    – sosborn
    Commented Jun 28, 2011 at 9:14

7 Answers 7


What are your users actually trying to do? I will bet that it isn't "Stare at a big table of data".

I don't know what your domain is (can't manage to translate your column names), but let's pretend it's a list of projects with start and end dates. Your users probably want to find out things like "how many projects are active" or "what is the latest project".

Figure out these questions and build the interface to answer them.

If you must show a big table, give the users effective tools for filtering out irrelevant results, searching for items, sorting rows, ordering columns, focusing on important columns, and otherwise reducing the 'noise'. (And remember, one man's noise is another man's signal!)

  • 2
    I’m with Alex. Not to get all rejecting-the-premise-of-the-question on you, but I think the answer to “How do I present massive amounts of data on the iPhone?” is “you don’t”. Commented Jun 28, 2011 at 23:54

Basically you have two approaches: UIScrollView which lets you place your data everywhere and UITableView which needs things organized in cells.

Unless you have a very good reason for the UIScrollView approach I'd go with UITableView. Implementing this is quite easy, your data can be laid out nicely with custom UITableViewCell subclasses (maybe two or three lines per cell?). It works fast and intuitive. If needed, you can add a way to "dig down" into the data if you don't want to present everything from the start. Also, it supports indexing.


Ok I am adding an answer as a reply to the comment I made above. Each of your individual rows can be a uiview. From the info you have provided I would add 7 labels and get a reference to each. Next I would read the data and populate the uiview using the references to the labels and add to either a scroll view or content view of a uitableviewcell. I would suggest uitableviewcell as the cells are reused and memory management is much easier. So basically i would be subclassing uiview to hold one row of data and create n rows to display the entire data.


Yes Best way is to present this data in the tableview. Take custom cell (not in xib). so it can load faster and no memory issues if you loads of data. If you have more data then you can put load more or show more button in tableview footer view. This way you don't need to take scrollview as Tableview itself can scroll.

But if you want to scroll Horizontally then you must have to take scrollview instead of tableview because tableview can't be scroll Horizontally.

Hope this help you.


Showing large amounts of data isn't really hard on the iPhone. All you have to do is use the UITableViewController and set the appropriate data source. Let the data source be smart enough to query only what you need, so only a small portion of data is in memory at the time.

Where I really see a problem (challenge) in your app is presenting the data and the way you look at your data. You state that there will always be 7 columns; that's just hard if not impossible to display on an iPhone! I think you need to do some thinking there.. What do I really have to show, and what can I show after I drilled down into the table view. I think that is where your challenge really is, not so much the large amount of data..


Yes..as @Praveen said, we could make use of a scrollView and then you can load the other views into the root view containing the scrollView.., by loading different views with tableView in each view when you scroll or change the page(using page control) ..


I think you are approaching this problem in too technical terms. From the usability perspective you first have to decide is this really the exact way the users will expect to view this data? Maybe you can make some simplify, make it hierarchical etc.

On the other hand you can use data visualising methods, and if data is somehow linked, drill-down functionality which seems better approaches on a mobile device like the iPhone.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.