#ios #uinavigationbar #storyboard
#iOS #панель uinavigationbar #раскадровка
Вопрос:
У меня есть приложение на основе раскадровки с контроллером навигации в качестве начального контроллера представления.
Я хотел бы установить фон для панели навигации на изображение, используя метод setBackgroundImage:forBarMetrics:, но я не уверен, где его вызывать.
Я мог бы подкласс UINavigationController и использовать метод viewDidLoad для его вызова, но подкласс UINavigationController не рекомендуется. Я думаю, мне следует подкласс UINavigationBar и переопределить некоторый метод инициализации?
Спасибо,
Стив
Ответ №1:
Я сам с этим разобрался. Я хотел, чтобы все панели навигации по всему приложению имели пользовательский фон, поэтому самый простой способ сделать это — использовать прокси-сервер внешнего вида для панели навигации:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"title_bar.png"]
Это установит фоновое изображение всех панелей навигации как «title_bar.png».
Казалось бы, хорошее место для такой настройки находится в:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
в делегате вашего приложения.