Tabbar / «Больше контроллера просмотра» - возможно иметь иконы в цветах, кроме черных?

StackOverflow https://stackoverflow.com/questions/2896841

Вопрос

Можно ли иметь иконки в таббаре и / или «больше навигационного контроллера» быть в цветах, кроме серых и черных? Я попытался изменять цвет значка, который я установил для контроллера просмотра с использованием UITABBARITEM

- (id)initWithTitle:(NSString *)title image:(UIImage *)image tag:(NSInteger)tag

метод.

Мой клиент думает, что интерфейс слишком темный и хочет украсить его красочными иконками ...

Спасибо!

Это было полезно?

Решение

Нету :( Кнопки на таббере или панели инструментов нарисованы с альфа-каналом, поэтому у них нет цвета, хотя есть .png.

Таким образом, вы можете подклассьте Tabbar или панель инструментов и реализуйте свои собственные кнопки, рисующие всю строку.

Другие советы

Еще немного поздно, но мой подход к изменению иконок контроллера был (и не уверен, что Apple одобрит его) сделать следующее:

id moreNavController = [tabs.moreNavigationController.viewControllers objectAtIndex:0];
if ([moreNavController respondsToSelector(@selector(view)]) {
    UITableView *t = (UITableView*)[moreNavController view];
    [t setDataSource:self];
}

Тогда я просто реализую методы UiableViewdataSourceProtocol

-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section{
  id o =[tabs.moreNavigationController.viewControllers objectAtIndex:0];
  return [o tableView:tableView numberOfRowsInSection:section]; //let the existing data source actually return the number of rows
}

а также

-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {
 /* configure cell as normal with what ever image in the imageView property*/ 
  cell.imageView.image = <someimageobj>
}

Другая идея состоит в том, чтобы иметь другой файл XIB, который действует как панель инструментов или вкладок. Вы можете заставить это выглядеть точно так же, и даже анимируйте в тому, что на панели инструментов или бар вкладок. Затем вы можете пройти глобальные переменные через приложение делегата или через Singleton, чтобы поделиться с другим активным видом, если это необходимо.

Хорошим примером добавления субвезонного представления «HiDDen Drawer» пример кода, найденный здесь (просто измените размеры экрана, поскольку эта версия всплывает вид сверху, тогда как вы хотите его внизу).

http://cocoawithlove.com/2009/05/intercepting-status-bar-touches-on.html.

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

Ограбить

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top