Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Static table view inside UIViewController [Xcode 5]

I'm aware of the problem that one is not able to have static table view content in a UIViewController in

I don't get a warning/error but he also doesn't compile. Is there a trick to it or do I have to use the old ways around it?

Thanks in advance.

like image 638
Constantin Jacob Avatar asked Oct 01 '13 07:10

Constantin Jacob


1 Answers

UPDATE: With the latest update (Xcode 5.1) it seems that it's no longer possible to put static cells inside regular UIViewController. My answer still applies for UITableViewController though.


Yes, you can have static table view content in UIViewController.

All you need to do is:

-Create the table's static cells in interface builder and design them the way you like.

-Make the UIViewController implement table view's data source and delegate:

@interface MyViewController : UIViewController<UITableViewDataSource, UITableViewDelegate>

-Connect the table view's delegate and dataSource to the view controller in interface builder

-Implement -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section to return the number of your cells. (e.g. return 10, yes simple as that)

-Connect your cells to your code as IBOutlets in Interface Builder. IMPORTANT: Make sure they are strong, weak won't work. e.g. @property (strong, nonatomic) IBOutlet UITableViewCell *myFirstCell;

-Implement -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath to return the correct cell at index path. e.g:

int num = indexPath.row; UITableViewCell *cell; switch (num) {     case 0:         cell = self.myFirstCell;         break;     case 1:         cell = self.mySecondCell;         break; } return cell; 

If you apply all these steps, you should have working static cells that works for tables with not many cells. Perfect for tables that you have a few (probably no more than 10-20 would be enough) content. I've ran the same issue a few days ago and I confirm that it works. More info on my answer here: Best approach to add Static-TableView-Cells to a UIViewcontroller?

like image 159
Can Poyrazoğlu Avatar answered Oct 14 '22 10:10

Can Poyrazoğlu