2010-08-23 2 views
0

Я видел этот вопрос, заданный раньше, и нашел ответ, как это сделать в простом представлении. Но ... когда я перехожу к следующему представлению, попадающему в стек представления, вручную настройка titleView не работает. Вид titleView сдвигается вправо, а кнопка «Назад» и его текст переходят в левую половину пользовательского интерфейса.Изменение цвета текста в UINavigationBar

Есть ли стандартный способ для этого? Я заметил, что приложение Gowalla, по-видимому, делает это довольно хорошо. Я пробовал множество подходов, включая категории, подклассы и т. Д., И мне не повезло.

ответ

4

У каждого UIViewController есть свои navigationItem, у которых (потенциально) есть titleView. Когда вы нажимаете и управляете контроллером просмотра в навигационном управлении, части navigationItem - это то, что вы видите. Если вам нужен собственный цвет заголовка, вы можете легко сделать что-то вроде следующего в каждом из ваших контроллеров.

 
- (UINavigationItem *)navigationItem 
{ 
    UINavigationItem *navigationItem = [super navigationItem]; 
    UILabel *customLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320.0f, 44.0f)]; 
    customLabel.text = @"My Title"; 
    customLabel.textColor = [UIColor purpleColor]; 
    navigationItem.titleView = customLabel; 
    [customLabel release]; 
    return navigationItem; 
} 
+0

спасибо за отзыв. Я решил решить это, создав пользовательский вид с двумя ярлыками (у меня были требования к заголовку/субтитрам в панели навигации), а затем установка границ и ширины рамки представления, чтобы он сидел посредине навигационной панели независимо от того, если были кнопки слева/справа или нет. – shawnwall

+0

Прохладный, рад, что это сработало для вас. –

Смежные вопросы