Я нахожусь в проекте, где мне нужно создать как пользовательские UINavigationBar
, так и UITabBar
. Моя проблема заключается в цвете элементов (цвет оттенка!). Мне не нужен цвет оттенков для моих предметов. Я попытался поместить его в прозрачный цвет, но это только заставляет его исчезнуть (становится прозрачным).Пользовательский iOS UINavigationBar/UITabBar и удаление цветов оттенка
Итак, чтобы повторить, у меня есть свои собственные изображения для моих элементов бара, и каждый из них содержит свои собственные цвета. Я прочитал, что для того, чтобы делать то, что я хочу сделать, я должен подклассифицировать свои UIBar
, но у меня больше нет информации. Что мне следует изменить в моем подклассе, чтобы избавиться от этого ограничения цвета оттенка? Спасибо.
EDIT: Цвет оттенка не применяется к изделию, но к стержню (так что все предметы). Поэтому моя проблема заключается в том, что я хочу, чтобы для моих предметов были конкретные цвета.
EDIT 2: Хорошо, я думаю, что понял! Решение состоит в том, чтобы использовать UIBarButtonItem
метод: initWithCustomView:
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
backBtn.bounds = CGRectMake(0, 0, 26, 26);
[backBtn setImage:[UIImage imageNamed:@"BackBtn.png"] forState:UIControlStateNormal];
[backBtn addTarget:self.navigationController action:@selector(popViewControllerAnimated:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:backBtn];
self.navigationItem.leftBarButtonItem = item;
Но это работает только для UINavigationBar
, потому что он принимает UIBarButtonItem
. UITabBar
, с другой стороны, принимает только UITabBarItem
, который не соответствует initWithCustomView
. Так что я все еще в рассоле там ...
Я не понимаю, не является ли удаление цвета таким же, как прозрачным? Вы могли бы попробовать whiteColor? – Woodstock
Отсутствие прозрачности означает, что цвет оттенка будет прозрачным, и поэтому содержимое (линии), образующие изображение, станет прозрачным. Другими словами, изображение станет прозрачным (так что ничего не появится, хотя изображение будет там) – Plot