Настройка одного и того же UINavigationBar в приложении несколько раз
Я настраиваю UINavigationBar с другим цветом и пользовательским шрифтом, используя titleTextAttributes. Однако, когда я перешел в другое представление, я хотел бы использовать цвет, отличный от предыдущего, с тем же нестандартным шрифтом.
Я использовал,
[[UINavigationBar appearance] setTitleTextAttributes:mySettings]
в AppDelegate.m. При вызове того же метода с newSettings в viewDidLoad другого viewController это не отражается.
Я могу изменить цвет панели или цвет оттенка в viewDidLoad другого viewController. Тем не менее, цвет моего заголовка не меняется. Я что-то пропустил?
Последнее решение, которое я должен иметь собственный titleView. Но хотел этого избежать. Любые входы?
1 ответ
[[UINavigationBar appearance] setTitleTextAttributes:mySettings]
это глобальная конфигурация, поэтому ее изменение в других контроллерах представления не работает. Я верю, что вы не сможете обойти titleView
свойство элемента навигации,...:/
Вы можете сделать это, создав UILabel с нужными настройками, а затем назначить его свойству:
NSAttributedString *title = [[NSAttributedString alloc] string:"the title" attributes:mySettings];
UILabel *newTitleView = [[UILabel alloc] init];
newTitleView.attributedText = title;
self.navigationItem.titleView = newTitleView;