изменить цвет значка панели вкладок по умолчанию синий - PullRequest
1 голос
/ 26 апреля 2011

я пытаюсь изменить цвет значка панели вкладок с синего на красный по умолчанию ... я получаю эту ошибку "Stray '\ 342'in program" .. я получаю ошибку в "- (void) recolorItemsWithColor: ....... ", а также в разделе реализации ... в любом случае необходимо решить ошибку dis ... есть ли другой способ изменить значок панели вкладок с синего по умолчанию на другой цвет

@interface UITabBar (ColorExtensions)

– (void)recolorItemsWithColor:(UIColor *)color shadowColor:(UIColor *)shadowColor shadowOffset:(CGSize)shadowOffset shadowBlur:(CGFloat)shadowBlur;

@end

Ответы [ 4 ]

5 голосов
/ 03 мая 2012

В классе, в котором вы определяете панель вкладок, задайте для свойства tabBarItem значение ->

UITabBarItem *tabBarItem1 = [[self.tabBar.tabBar items] objectAtIndex:0];
[tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"campaigns_hover.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"campaigns.png"]];

Свойство tabBarItem позволяет изменить синее изображение по умолчанию на пользовательское изображение.campaigns_hover.png - это выбранное настраиваемое изображение, а Campaign.png - это настраиваемое изображение, когда оно не выбрано ...

Наслаждайтесь секретом .. :)

Оно не использует частный API ..Функция определена в классе UITabBarItem.h.

2 голосов
/ 26 января 2016

перейдите в папку с активами, найдите актив, нажмите Identity Inspector и измените «Render As» на «Original Image» (при условии, что ваш значок соответствует желаемому цвету)

enter image description here

1 голос
/ 08 июня 2011

Попробуйте добавить изображение 49x49 png в свой проект, затем вставьте эти строки кода в делегат приложения внутри applicationDidFinishLaunching и перед добавлением подпредставления.

CGRect frame = CGRectMake(0, 0, 480, 49);
UIView *view = [[UIView alloc] initWithFrame:frame];
UIImage *tabBarBackgroundImage = [UIImage imageNamed:@"49x49.png"];
UIColor *color = [[UIColor alloc] initWithPatternImage:tabBarBackgroundImage];

[view setBackgroundColor:color];
[color release];
[[tabcontroller tabBar] insertSubview:view atIndex:0];
[view release];

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

1 голос
/ 26 апреля 2011

Знаете ли вы, что код, который вы пытаетесь использовать, использует частные API и, следовательно, приведет к отклонению ваших приложений?

Я не знаю о конкретной ошибке, которую вы видите.Но если вы ищете другое решение, которое попадет в App Store, вы можете попробовать PESTabBarAdditions .

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