One thing I have struggled with in the past is getting the UITableView to have a custom background when displaying in grouped mode. There is no option within Interface Builder (IB) to set this property on such a view, so you are always left with the standard blue background. However, it is possible to do this within the code of your application.

I am going to use a view that will be a UIViewController that will adopt the UITableViewDelegate and UITableViewDatasource methods. First up create your view in the usual manner, add in the protocols and then add in the following attribute to the class:

IBOutlet UITableView *myTableView;

Obviously you can call your table view whatever you like. Now, in IB open up your NIB and navigate to the File's Owner. If you are using the latest version of Xcode, you will probably already have this set to your class. If not set this now. In your view, add in a Table View from the library. Set the dataSource and delegate of this view in the connections pane of the Inspector to your File's owner. Now, click on the File's Owner icon and display its connections. Connect 'myTableView' to the table view you have added to your view. Save.

At this point you can either add a UIImageView with an image and send this image to the back of the view hierarchy (under the Layout menu) or change the background colour of the view.

From here, go to the source of your class and add the following into the
- (void)viewDidLoad
method:

[myTableView setBackgroundColor:[UIColor clearColor]];

When you display the view, your background image or colour should be visible under your grouped table.