Is there any way to set a background view on a UITableViewController?
I try with the code I am using on a UIViewController
, but the view comes over all the contents of the table view. If I add the background view in the cellForRowAtIndexPath-method
, it is not showing at all. Has anyone done this before or have an idea on how it can be done?
Here is the code I am using:
UIImage *image = [UIImage imageNamed: @"background.jpg"];
UIImageView *backImage = [[UIImageView alloc] initWithImage: image];
[self.view addSubview: backImage];
[self.view sendSubviewToBack: backImage];
Actually, I got it working! :)
For Swift use this,
(This is basically the same as Hans Espen's solution above, but uses convenience methods for brevity)
Put this in your -
[UITableViewControllerSubclass viewDidLoad]
method:There's no point in avoiding a couple of autoreleases in a viewDidLoad method, since it only gets called rarely (when the view actually loads) and will therefore have negligible impact on performance.
N.B. You should always use PNG images on the iPhone, not JPEG or any other format.
In C# for a static UITableViewController with sections you can use:
The result can be something like this:
I know it's been a long time, but just for the record.. I Think I found a better solution using
UITableView.backgroundView
:I tried with an image size of 320x480 on iPhone, and works perfect (I have tried with .jpg also).