tintColor из UISegmentedControl не реагирует - PullRequest
0 голосов
/ 22 октября 2010

Ну давай!

Я уже почти смотрю на это!

Я хочу установить свой оттенок моего 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];

Имеет ли Apple какое-либо свойство, например "makeUISegmentedControlsDontSetAnyTintColor" или soo? Пожалуйста, помогите ...

Работает одна кнопка: http://img257.imageshack.us/i/schermafbeelding2010102.png/

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

Ответы [ 2 ]

1 голос
/ 21 августа 2015

Это действительно старый вопрос, но я столкнулся с этой проблемой сегодня (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];
});
1 голос
/ 22 октября 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...