цвет iPhone Navigation Bar Title text

Это может быть лучше:

var total = 0;
items.forEach(item => {
   let multipliedResult = (item.price * item.creditedQuantity)
   total += multipliedResult
})
281
задан Callum 20 November 2018 в 21:05
поделиться

2 ответа

Современный подход

современный путь, для всей навигации controller†¦ В делают это однажды, когда Ваше корневое представление контроллера навигации загружается.

[self.navigationController.navigationBar setTitleTextAttributes:
   @{NSForegroundColorAttributeName:[UIColor yellowColor]}];

Однако это не кажется, имеют эффект в последующих представлениях.

Классический подход

старый путь, на контроллер представления (эти константы для iOS 6, но если хотят сделать это на контроллер представления на появлении iOS 7, Вы захотите тот же подход, но с различными константами):

необходимо использовать UILabel в качестве titleView из navigationItem.

маркировка должна:

  • Имеют ясный цвет фона (label.backgroundColor = [UIColor clearColor]).
  • Использование полужирный системный шрифт на 20 ПБ (label.font = [UIFont boldSystemFontOfSize: 20.0f]).
  • Имеют тень черного цвета цвета с 50%-й альфой (label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5]).
  • Вы захотите установить выравнивание текста на в центре также (label.textAlignment = NSTextAlignmentCenter (UITextAlignmentCenter для более старого SDKs).

Выбранный цвет текста метки, чтобы быть безотносительно пользовательского цвета Вы хотели бы. Вы хотите цвет, который не заставляет текст смешиваться с тенью, которую было бы трудно считать.

я разработал это методом проб и ошибок, но значения, которые я придумал, в конечном счете слишком просты для них, чтобы не быть тем, что выбрала Apple.:)

, Если Вы хотите проверить это, бросьте этот код в [1 110] в PageThreeViewController.m из [1 112] образец NavBar Apple . Это заменит текст желтой маркировкой. Это должно быть неотличимо от оригинала, произведенного кодом Apple, за исключением цвета.

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self)
    {
        // this will appear as the title in the navigation bar
        UILabel *label = [[[UILabel alloc] initWithFrame:CGRectZero] autorelease];
        label.backgroundColor = [UIColor clearColor];
        label.font = [UIFont boldSystemFontOfSize:20.0];
        label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
        label.textAlignment = NSTextAlignmentCenter;
                           // ^-Use UITextAlignmentCenter for older SDKs.
        label.textColor = [UIColor yellowColor]; // change this color
        self.navigationItem.titleView = label;
        label.text = NSLocalizedString(@"PageThreeTitle", @"");
        [label sizeToFit];
    }

    return self;
}

Редактирование: Кроме того, прочитайте ответ B Erik ниже. Мой код показывает эффект, но его код предлагает более простой способ бросить это в место на существующем контроллере представления.

422
ответ дан Steven Fisher 23 November 2019 в 01:56
поделиться

Это - одна из тех вещей, которые отсутствуют. Ваш лучший выбор состоит в том, чтобы создать Вашу собственную Панель навигации, добавить текстовое поле и управлять цветом тот путь.

2
ответ дан David McGraw 23 November 2019 в 01:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: