0

Приходите!tintColor UISegmentedControl не реагирует

Я почти смотрю на этот день!

Я хочу, чтобы установить свой оттенок цвета моего UISegmentedControl но он не реагирует ...

NSArray *segControlItems = [NSArray arrayWithObjects: 
     @"L", 
     @"H", 
     @"A", 
     nil]; 
UISegmentedControl *segControl = [[UISegmentedControl alloc] initWithItems:segControlItems]; 

segControl.frame = CGRectMake(0, 0, 90, 30); 
segControl.segmentedControlStyle = UISegmentedControlStyleBar; 
segControl.momentary = YES; 
segControl.tintColor = [UIColor greenColor]; 


[segControl addTarget:self action:@selector(segAction:) forControlEvents:UIControlEventValueChanged]; 

UIBarButtonItem *segBarItem = [[UIBarButtonItem alloc] initWithCustomView:segControl]; 
self.switchView.navigationItem.rightBarButtonItem = segBarItem; 

[segControl release]; 
[segBarItem release]; 

Имеет яблоко сделал какое-то свойство, как «makeUISegmentedControlsDontSetAnyTintColor» руда Су? Пожалуйста, помогите ...

Одиночная кнопка работы: http://img257.imageshack.us/i/schermafbeelding2010102.png/

Но с сегментирован это перепутались: http://img714.imageshack.us/i/schermafbeelding2010102.png/

ответ

1

Я сделал это без проблем с использованием InterfaceBuilder. У меня было три сегмента, некоторые с надписями, некоторые с надписями + картинки, все работало нормально.

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

+0

, когда я [self.switchView.navigationController.navigationBar addSubview: segControl]; я все еще такой же, не могу установить tintColor – meersmans

+0

Ну, у меня нет кода, который я использовал больше, я знаю, что он работал из коробки, но мой случай был проще. Сожалею. – jv42

+0

Np, я буду продолжать искать. В худшем случае я делаю несколько png-s этого. – meersmans

1

Это вопрос действительно старый, но сегодня я столкнулся с этой проблемой (Xcode 7b5/iOS 9). В моем случае segmentedControl был UIBarButtonItem в navBar. Я был в состоянии установить tintColor, ожидая следующего цикла выполнения, например, так:

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] init] 
(...additional setup...) 

UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];  
self.navigationItem.rightBarButtonItem = segmentBarItem; 

dispatch_async(dispatch_get_main_queue(), ^{ 
    segmentedControl.tintColor=[UIColor purpleColor]; 
}); 
Смежные вопросы