Я знаю, это довольно старый пост, но я думаю, что я должен поделиться, где моя проблема, где-то
В моем случае у меня был следующий код
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"some-Background.png"]];
[tempImageView setFrame:self.tableView.frame];
[self.tableView setBackgroundView:tempImageView];
но мое изображение было названо "some-background.png".
В симуляторе все выглядело нормально, но на телефоне я не получил фона. Кажется, что симулятор нечувствителен к регистру, а iPhone - нет.