Метод setBackgroundImage:forBarMetrics:
недоступен в iOS 4 или ниже.
Таким образом, вызов этого метода приведет к краху вашего приложения.
Просто проверьте, реагирует ли объект на селектор:
if ([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) {
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"tab bar.jpg"] forBarMetrics:UIBarMetricsDefault];
}
Помните, что переопределение метода drawRect:
, используемого в iOS 4 и ниже, не работает в iOS 5. Таким образом, вы должны реализовать оба способа заставить ваше приложение работать на iOS 4 и 5.