How to make tables like NSTableView in the iphone - ios

Is there a class or framework that lets you draw tables with rows and columns on the iPhone. Or do you have to draw the table yourself and place a textfield in each slot.

Use UITableView. It doesn't have columns because iPhone screen is much smaller than average screen of desktop computer. But if you want you can emulate them with custom UITableViewCells.

You need to draw the table yourself and place a text field in each slot. It's possible that you could find an open source implementation, but it's not very hard to write one based on a UIScrollView, I've done it.

Related

Multiple columns in tableview ios

I am working on an app using objective C and Xcode.
For the moment I am using a table view and returning rows with cells containing an image thumb and title. My problem is that now i need to change the layout and for 4 of the cells I need to make them fall on the same row (so each article of the 4 should be 50% width). So basically create 2 columns but only for 4 of the articles. The rest remain on 1 column (full width).
I would add an image but I don't have enough rep points.
I know there is some thing like collection view...but I am not very familiar with that one and I was hoping maybe there's an easier way than redoing the viewcontroller and all the connections I already have created there.
Since I am already using tableview..what's the best way to change the layout to fit what I need now?
Based on what you're trying to do a UICollectionView might not be the best bet. I would create a second type of UITableViewCell for those rows with 4 columns. This should help Multiple Custom Rows UITableView?
You can use UICollectionView with flowlayout and variable cell width. There are many tutorials about it out there.
You can also try this library: https://github.com/bryceredd/RFQuiltLayout
Have you taken a look at this library:TSUIKit
If you just want to quickly arrange your data, this would be much easier than trying to wrangle with UICollectionView.

Where to begin? - iOS "excel- like" view

I'm new to iOS development. I have finished the "console" part of my app (it does what I need it to do in a Mac app without a UI), but now I have no idea on where to start for my (iOS) UI part.
Basically, I need something like a simple grid of cells (like Excel); my code reads a file, creates a dynamic (varies per file content) 2D array, and I want to show this on my UI, making each cell selectable by the user (each cell would correspond to a position in my 2D array).
Could someone point me in the right direction (even if its only the name of the classes I need to look up in apple's doc.)? I have been trying to find answers online, but it seems I'm not looking for it right.
In case I didn't explain myself correctly, I want something like this:
UICollectionView is the correct class to use for this. It allows you to create layouts with multiple rows and columns in a similar style to UITableView. You can also create your own custom layouts if the default one does not do what you need.

Displaying Output in IOS Applications

What is the best way to display some text data as output in an iphone application.
I am able retrieve a set of details about a particular car in my application.How to display them in a nice way.Currently i am using Labels.
Is there any better way.. I am new to ios programming
It really depends on the structure of the text data that you want to show.
For plain text, a UILabel is good. You can set the numberOfLines property if you want to show more than one line, or unlimited number of lines (set to 0).
For rich text, you can use a UITextView.
For HTML, UIWebView gives you Safari's rendering behavior and support.
For one-column tabular data, the classical UITableView is good. It's best for hierarchical information, that is, it is appropriate for when you have to present the user a bunch of records (maybe retrieved from some database) and you group them by some criteria (sections, or "group by" in SQL terminology). Each of those records may have additional information that you show when the user taps on the corresponding table view cell.
If you want to show multi-column tabular data, or any other complex layout that UITableView does not support, you can use a UICollectionView (available from iOS6+).
You can use UITableView Custom Cell with UILabels and UIImages for cars, please refer WWDC 2013 videos Building User interfaces for iOS7 and Best practices for great iOS UI Design https://developer.apple.com/wwdc/videos/ for reference and http://pttrns.com/categories/20-content-screen
You can use UITableView, with custom cells for car image and other details.
Table View is best options for you.
Create a UITableView And add an UIImageView and UILabel for details of car....

Objective C: How to implement a datagrid view (tables with multiple columns)

I am currently working on an iPad application that uses a table view to present data, I was inspired by the iTunes application in iPad that present it's data in multiple columns in a very nice and neat manner, and the most interesting thing is that during the portrait mode the itunes application displays data in 2 columns but when the user switches to landscape mode, it switches the display to 3 columns (since there are plenty of space to display data horizontally).
This is what i'm talking about:
but i found out that iOS SDK only supports single column for tableview (it would be nice to utilize the entire space provided on iPad screen to present data), i did some research and i found out that the best way to present data in multiple columns yet like spreadsheet style is to use datagridview instead, but iOS SDK did not provide any data grid view controls for iOS developers.
I found out over the internet some customized tables like:
AQGridView.
DTGridView.
and also the one from this:
http://usxue.is-programmer.com/posts/14176.html
and the one from this:
http://xebee.xebia.in/2011/04/14/building-editable-gridview-for-iphone-apps/
But sadly none of these ever met the requirements of the application i was working on.
Could you guys provide me some ideas or share some sample codes or links on how to display data in somehow-data grid view, to achieve similar effect used in iTunes application (as shown above).. Any form of help would be pretty much appreciated. Thank you guys!
The summary answer is, place multiple data "views" across in a single cell.
The more detailed answer:
Create custom views that represent the single cells you want. You can for this purpose make them resizable enough to work two across or three across (they will get loaded into 1/2 or 1/3 of the cells bounds).
Then make a custom UITableView cell, that can take two or three data items - load up an instance of the custom view previously created in the cell for each data item you have, placing them next to each other. You can have the cell do the view layout when groups of data items are added.
In the cellForRow code in the table delegate/datasource, you use your data source in groups of two or three (and report the row count accordingly) to pass along to the custom cell.
Sorry I can't share code, but I have used this technique before in other applications.
What's wrong with creating a UIView class to represent a single cell, and another that lays out an array of those cells in a grid? Put your grid view in a UIScrollView and you're about done.
UITableView is obviously a pretty complex class. Much of that is to make it very general, very reusable, and able to support a huge number of rows. Your class doesn't necessarily need to be that complicated -- if you have a fairly small number of cells, your "grid" could really just be a UIView in which you lay out cells in rows and columns. UITableView removes cells that aren't seen in order to save memory; you might need to do something similar if you have hundreds of cells, especially if they're large, but a few dozen probably won't require that.
In short, since you need a grid view for a particular use, you don't need to do all the extra work that would be required for a general, reusable solution.

How to display HTML-like table data on iPhone?

I have a set of data in a matrix which I would like to display in my iPhone app with all of the rows and columns intact. Everything I can find on the web dealing with "tables iPhone" gives me information on UITableView, which only lets you show a list of items to the user - not an actual table in the HTML sense. What's the best way on the iPhone to display an actual table of data to the user, with column & row headings and table cells?
The solution that I found was simply to use a UIWebView. Then I can build the HTML table dynamically and load it into the web view.
The UITableView class was specifically designed to only show one column at a time due to the small size of the screen. If the data of your application absolutely needs to be laid out in one big grid on one screen the right way to do it, would be to add each cell as a subview to a custom view. Then implement the layoutSubviews method on your custom view to lay out the frames of the subviews in the grid you want.

Resources