2015-04-21 4 views
1

Я новичок в Objective C, вам нужно изменить только цвет текста UISegmentedControl на белый цвет, при этом цвет оттенка будет уменьшен до черного. Однако это работает на iPhone, но на iPad цвет текста не подходит должным образом. Он также использует цвет оттенка для своего шрифта. Ниже приведен код, который я использовал.Изменить цвет текста UISegmentedControl для iPad

[ segCtrl setTintColor:[ UIColor colorWithRed:0.0/255.0 green:0.0/255.0 blue:0.0/255.0 alpha:0.15 ] ]; 

[ segCtrl setSelectedSegmentIndex:0 ]; 

[ segCtrl setTitleTextAttributes:@{NSFontAttributeName:[ UIFont fontWithName:FONTNAME size:13.0 ], NSForegroundColorAttributeName:[UIColor whiteColor ]} forState:UIControlStateNormal ]; 

Как это исправить. И почему один и тот же код отличается в обоих устройствах.

Ниже приведены изображения, которые я получаю от iPhone и IPad

iPhoneenter image description here

+0

комментировать первую строку, а затем проверить – aBilal17

+0

комментируя TintColor придает синий цвет по умолчанию и текст не работает. Текст также имеет синий цвет. – Jaff

ответ

1

Помещенный ниже код в viewdidload:

[[UISegmentedControl appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]} forState:UIControlStateNormal]; 

[[UISegmentedControl appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]} forState:UIControlStateSelected]; 

работал для меня.

+0

Это решение сработало для меня. – Jaff

1

использовать этот код: UISegmentedControl_Class

в функции viewDidLoad.

// color selected text ---> red 
    [[UISegmentedControl appearance] setTitleTextAttributes:@{ NSForegroundColorAttributeName : [UIColor redColor] } forState:UIControlStateSelected]; 

    // color disabled text ---> blue 
    [[UISegmentedControl appearance] setTitleTextAttributes:@{ NSForegroundColorAttributeName : [UIColor blueColor] } forState:UIControlStateNormal]; 

    // color tint segmented control ---> Your color 
    [[UISegmentedControl appearance] setTintColor:[ UIColor colorWithRed:0.0/255.0 green:0.0/255.0 blue:0.0/255.0 alpha:0.15 ]]; 
+0

Я пробовал код, но при этом цвет текста установлен в оттенок цвета. [segCtrl setTitleTextAttributes: @ {NSFontAttributeName: [UIFont fontWithName: размер FontName: 13.0], NSForegroundColorAttributeName: [UIColor whiteColor], NSShadowAttributeName: [UIColor whiteColor]} Форстате: UIControlStateNormal]; – Jaff

+0

@Jaff 'segCtrl.segmentedControlStyle = UISegmentedControlStyleBar;' Требуется, чтобы tintColor работал. – Yuyutsu

+0

Работает ли я ... Дайте мне знать :) – Yuyutsu

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