+1  A: 

You can make frame of your tableView with the smaller size.height parameter. It will do the trick.

Oh... Ok. I have no mac nearby right now so I don't want to post much code. I will try to explain. First of all, you should inherit your rootViewController from UIViewController, not UITableViewController. If you are using IB, you have to refer your main view to your RootViewController's view property. Then you can set background of you main view

[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"myImage.png"]]];

or add a UIImageView to your view and set your background image there. Then you have to add a UITableView to your view and set it's frame at any size you want. Next step - to refer your new tableView to the outlet inside your class. Smth like that:

IBOutlet UITableView* myTableView;

in your viewDidLoad: method set your new tableView's background to clearColor

[myTableView setBackgroundColor:[UIColor clearColor]];

and the last one. all your self.tableView you have to replace with myTableView.

P.S. Oh, don't forget that your new tableView should has frame with x,y,width properties, identical to your self.view's ones and tableView's height property should be a bit smaller.

Morion
I tried setting the "View Size" - "H" parameter in Interface Builder, but the text field for setting the height of the view is grey and not enabled. Do I have to set that parameter in my code? If yes, how can I do that? If no, why isn't it working in Interface Builder?
Yassin
[tableView setFrame:CGRectMake(0, 0, 320, 400)]; this will set new frame to the table. Parameters are gray... The reason is that your view is inherited from UITableView. You should make UIView as main view and add table view as a subView there.
Morion
Can you explain me how to make UIView the main view and add the table view as a subview? I don't want to break my viewcontroller ;-)
Yassin