Как изменить размер шрифта текста в UISegmentedControl?

Ниже приведен код для инициализации моего UISegmentedControl.

- (void)initializeToolButtons
{
    NSArray *buttonTitles = [NSArray arrayWithObjects:@"ANNEXET", @"HOVET", @"GLOBEN", "ALL", nil];

    toolbuttons = [[UISegmentedControl alloc] initWithItems:buttonTitles];
    toolbuttons.segmentedControlStyle = UISegmentedControlStyleBar;
    toolbuttons.tintColor = [UIColor darkGrayColor];
    toolbuttons.backgroundColor = [UIColor blackColor];     
    toolbuttons.frame = CGRectMake(0, 0, 320, 30);

    [toolbuttons addTarget:self action:@selector(toolButtonsAction) forControlEvents:UIControlEventValueChanged];

    [self.view addSubview:toolbuttons];
}

Как уменьшить размер шрифта для каждого элемента на UISegmentedControl?

Примечание. toolButtons уже объявлено глобально.


person vinay    schedule 16.08.2010    source источник


Ответы (2)


Очень простой:

UIFont *Boldfont = [UIFont boldSystemFontOfSize:16.0f];
    NSDictionary *attributes = [NSDictionary dictionaryWithObject:Boldfont forKey:UITextAttributeFont];
    [segment setTitleTextAttributes:attributes forState:UIControlStateNormal];
person Sigalit Amsalem Yemini    schedule 12.10.2012
comment
В iOS 7.0 используйте NSFontAttributeName - person Stavash; 06.01.2014

Рассмотрите возможность изменения дизайна вашего интерфейса или используйте стиль «вкладки» с меньшим шрифтом. Игра с нераскрытыми свойствами может привести к отклонению вашего приложения или поломке вашего приложения, если они что-то изменят под капотом.

Например, приведенный пример кода не работает. Когда вы нажимаете на сегмент, шрифт для этого сегмента сбрасывается до нормального размера. Что-то непредсказуемое может произойти или измениться в вашем приложении, если вы делаете что-то, что отклоняется от обычного использования этих вещей. Поэтому, если вы хотите, чтобы приложение продолжало работать в следующих обновлениях ОС, придерживайтесь стандартных вещей или создайте свои собственные элементы управления с помощью UIButtons и прямоугольных фоновых изображений. Взлом может работать сейчас, но нельзя сказать, что он будет работать в будущем.

person Martin    schedule 01.06.2011