Цвет панели инструментов не меняется

#iphone #objective-c #uitoolbar #tint

#iPhone #objective-c #панель инструментов uitoolbar #оттенок

Вопрос:

Я создал панель инструментов UIToolbar. Я пытаюсь придать ему черный цвет, используя:

 toolbar.barStyle = UIBarStyleBlackOpaque;
  

или

background свойство панели инструментов. Но его цвет не меняется ни в том, ни в другом случае.

Как я могу это изменить?

Ответ №1:

В iOS 7 необходимо установить свойство barTintColor

 UIToolbar *doneToolbar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 584, 320, 44)];
doneToolbar.translucent=NO;
doneToolbar.barTintColor=[UIColor redColor];
[self.view addSubview:doneToolbar];
  

Я использовал его, он работает нормально…

Ответ №2:

Вы пробовали устанавливать свойство tint в UIToolbar? ie:

 - (void)viewDidLoad {
  [super viewDidLoad];
  UIToolbar *toolbar=[[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 46)];
  toolbar.tintColor=[UIColor redColor];
  [self.view addSubview:toolbar];
  [toolbar release];
}
  

Подробно описано в документах Apple

Комментарии:

1. к сожалению, он также не реагирует на tintcolor

2. tools = [[выделение панели инструментов uitoolbar] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 46.01f)];

3. Я просто попытался создать новое приложение на основе просмотра и добавил (обновленный) приведенный выше код в ViewController, и у меня это сработало.

Ответ №3:

Используйте это после выделения и инициализации объекта панели инструментов:

 toolbar.tintColor = [UIColor darkGrayColor];
  

Надеюсь, это вам поможет.

Ответ №4:

В IOS 10, по-видимому, нам также нужно вызвать sizeToFit на UIToolBar , чтобы изменить цвет фона:

У меня это сработало:

 let dummyToolbar = UIToolbar()
dummyToolbar.barTintColor = .lightGray
dummyToolbar.sizeToFit() // without this line it doesn't work