Существует различие между "пользовательскими" панелями навигации и использованием закрытых методов.
Apple не позволяет напрямую изменять панель навигации, делая многие необходимые методы закрытыми или свойства доступными только для чтения.Если бы вы изменили свойство, доступное только для чтения, или использовали частный недокументированный метод, ваше приложение было бы отклонено (Apple автоматически анализирует код при отправке, чтобы обнаружить подобные вещи).
Однако ничто не остановит васот реализации собственного эквивалента UINavigationBar
или его настройки с использованием общедоступных методов SDK.Тогда возникает вопрос, слишком ли отклоняется ваше приложение от Руководства по интерфейсу пользователя: хотя, если честно, Apple, как правило, достаточно гибка в этом.
Хотя я не обязательно рекомендую это, я работал над однимприложение, в котором мы создали собственный навигационный контроллер, потому что у нас были некоторые требования к анимации и переходам, которых мы не смогли достичь с помощью собственного класса Apple.Пока вы не называете ничего плохим или радикально противоречащим HIG, у вас все в порядке.