Square table cell in a table view - swift

Instead of having table cells that takes the entire width of the screen, I would like to have square table cell, so that I can have maybe 3 or 4 table cells per line. The table cell would also change its size on the vertical dimension.
Is it possible ?
Thanks !

You should use UICollectionView instead of UITableView.

Related

xcode ignores table view cell height selection and uses table view row height selection

I'm creating a UItableView with two different dynamic custom cells and want both cells to have different default height. I can't seem to do this since the cells always take the height specified in the table view row height option instead of the table view cell height option.

How to clip the cell in a PdfPTable with iText?

I am creating a one column PdfPTable given a Rectangle, at a particilar absolute position. In this table, I need to add a collection of PdfPCells and show as much of the cell content as possible and the cells must be clipped at the table rectangle boundaries. I took care of the width by:
PdfPTable cutTable = new PdfPTable(1);
cutTable.setTotalWidth(200f);
cutTable.setLockedWidth(true);
I have a phrase object in each cell and I add a set of cells to the table. The problem is that the cells overflows the table height boundary and it is not clipped. I tried keeping track of the total cells' height after adding each cell, but the problem is that since I ask the table for the row height, a cell must be inserted before and my calculation is off as the last cell overflows.
How do I get the table to clip the cell contents at its boundaries? If I can't do this, how do I determine the height of the cell(the phrase uses Arial 8 font) with the default text wrapping, before it is added to the table?
Thanks in advance for your help.
Take a look at the CellHeights example from my book "iText in Action." It uses the different options to set the height of a cell. I think you need the setFixedHeight() method. When using this method, all content added to the cell that doesn't fit the height will be dropped.

Aligning rows in UITableView

This may sound a newbie question, however I'm new to iOS dev.
I've got a UITableView on my iPad app. TableView has obly three rows, is there a way to tell UITableView to view rows vertically centered, i.e. to not from the top to down.
Figure out the sum of the heights of all 3 rows, call it MyTotalHeight.
float MyTotalHeight = heightOfRow0 + heightOfRow1 + heightOfRow2;
Set your
tableView.frame = CGRectMake(start_X, start_Y, tableWidth, MyTotalHeight);
If you want the contents of each row/cell to be centered vertically within the cell, this will depend greatly on what is in the cell. You will need to calculate the height of the content and then center that content vertically within the cell by adjusting it's frame.
You may want to try the UiTableView.sectionHeaderHeight property. Play with the number until the cells are centered vertically. If your using a plain table view, I don't know how well this will work for you.
--John

Add separator in grouped tableview cell

I have table cell with 1 textfield & 1 uiswitch placed in single cell. I have table cell of height 100. How can I add separator to this cell so that there is distinction between textfield & uiswitch?
Assuming that you are adding subviews to your cell, you would need to create a custom view with a switch and a separator (a graphic or something else) to add to your cell as a subview.
Question: if you are adding a switch and a textfield, shouldn't they be in two separate cells anyway? That way you would get a natural horizontal divider.

How do you display a spreadsheet-like table in an iPhone view?

I need to display a spreadsheet in a view. There's no need to edit the cells of the spreadsheet, and the spreadsheet will consistently have the same number of rows and columns. (The spreadsheet cells will be populated with financial figures generated by the user in a different view)
How would I do this? A UITableView seems inadequate, as there need to be around 70-80 cells displayed in this table.
One way to do it is to write your own table cell to contain all the columns in a particular row. Then you can load the cell for each row in UITableView
If the cells don't need to be editable, they don't contain images, and the number of cells isn't large, you could just use labels or drawn text inside a grid of framed rectangles in a UIView, and display that larger view inside a UIScrollView.