2015-04-06 6 views
0

Я пытаюсь установить пользовательский интервал для моего UISegmented Control. Как определить атрибут NSKernAttributeName и value для определения пользовательского интервала между буквами?Строка NSAttributed для UISegmentedControl

[myUIControl setTitleTextAttributes:@{ NSForegroundColorAttributeName : [UIColor whiteColor], NSFontAttributeName: [UIFont fontWithName:myFont size:13]} forState:UIControlStateSelected]; 

Это, как это делается для UIButton

[attributedString addAttribute:NSKernAttributeName 
         value:@(dinSpacing) 
         range:NSMakeRange(0, [myString length])]; 

ответ

1

и можно установить интервал между символами для управления сегмента, как показано ниже, у делаете правильно только добавить NSKernAttributeName как объект и значение как число, как у есть делаю для кнопки, например

[self.aSegMentCntrl setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:@(5),NSKernAttributeName,[UIColor redColor],NSForegroundColorAttributeName,[UIFont fontWithName:@"Helvetica Neue" size:13],NSFontAttributeName ,nil] forState:UIControlStateSelected]; 

вашего словаря версии

-
+1

Спасибо! Я пытался добавить диапазон, но я думаю, что это не обязательно – DaynaJuliana

+0

приветствуется .. :) .. не нужно добавлять диапазон, который требуется для всей строки по умолчанию .. –

+0

Я обнаружил, что отрицательное значение для kern (такое как -4.0) работает, за исключением последней буквы, которая обрезана. Это не приятный эффект. Разве вы не сталкивались с этим? – bio

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