К сожалению, нет поддержки использования пользовательских фоновых изображений на панели навигации в iPhone OS 3.0 или любых предыдущих версиях. Единственный способ настроить внешний вид - установить стиль и цветовой оттенок. Не идеально, я знаю.
В своем коде вы пытаетесь растянуть заголовок панели навигации, чтобы «перейти под» правую кнопку. Но это невозможно, поскольку три вида панели навигации (кнопка «Назад», заголовок и правая кнопка) должны находиться в одном слое и настраиваться таким образом, чтобы не перекрываться. Это особенность.
Я знаю, что есть ряд сторонних приложений, которые изменяют фоновое изображение, но они "взламывают" систему и используют неподдерживаемые частные API: или предположения о внутренних структурах данных панели навигации. Эти программы, скорее всего, потерпят неудачу (аварийно завершат работу или отобразятся неправильно) в будущих версиях iPhone OS.
Скорее всего, вы не хотите с этим связываться. Примите тот факт, что у вас (пока) не может быть собственного фонового изображения в панелях навигации. Это больно, я знаю. Но если вы взломаете систему и ваше приложение выйдет из строя в следующих версиях ОС, Apple заберет это приложение из магазина приложений, и вы потеряете весь доход до тех пор, пока не измените приложение. Это твой звонок ...