iOS Bar Изображение элемента, отображающее неправильный цвет

У меня есть бар с элементами Bar, мое изображение .png имеет зеленый цвет, но когда я добавляю его в раскадровку, он отображается как синий.

Как я могу отобразить изображение так, как оно есть?

введите описание изображения здесь

введите описание изображения здесь

Документы немного неоднозначны по этому поводу.

Изображения, отображаемые на панели, взяты из этого изображения. Если это изображение слишком велико, чтобы поместиться на планке, оно масштабируется. Как правило, размер панели инструментов и изображения на панели навигации составляет 20 x 20 точек. Значения альфа в исходном изображении используются для создания изображений, непрозрачные значения игнорируются.

По сути, это то, что изображение, которое вы поставляете, не будет тем, что на самом деле отображается. Вместо этого система использует альфа-маску изображения и tintColor элемента для создания окончательного отображения.

Используйте tintColor UIBarButton, чтобы установить желаемый цвет для изображения. Если это абсолютно необходимо для использования оригинальных цветов изображения, используйте это, чтобы установить изображение:

 [aBarButton setImage:[[UIImage imageNamed:@"xyz.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]]; 

добавить изображение программно

 [button setImage:[[UIImage imageNamed:@"imageName.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal]; 

если его не работает, попробуйте следующее:

 UIImage *myImage = [UIImage imageNamed:@"myImageFile.png"]; myImage = [myImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; UIBarButtonItem *menuButton = [[UIBarButtonItem alloc] initWithImage:myImage style:UIBarButtonItemStylePlain target:self action:@selector(menuObject:)]; self.navigationItem.leftBarButtonItem = menuButton; 

если его не работает, попробуйте следующее:

 #define setTurqoiseColor [UIColor colorWithRed:68.0f/255.0f green:181.0f/255.0f blue:223.0f/255.0f alpha:1.0] UIBarButtonItem *menuButton = [[UIBarButtonItem alloc] initWithImage:buttonImage style:UIBarButtonItemStyleBordered target:self action:@selector(toggleMenu)]; menuButton.tintColor = setTurqoiseColor; 

Чтобы установить цвет оттенка элемента панели global, в приложении App Delegate, добавьте эти строки кода

 UIBarButtonItem *barButtonAppearance = [UIBarButtonItem appearance]; [barButtonAppearance setTintColor:[UIColor redColor]]; // set to your color [[UIBarButtonItem appearance] setTintColor:[UIColor redColor]]; 

Вы должны установить tintColor UITabBar.

введите описание изображения здесь

Если вы хотите добавить пользовательский цвет / градиент, вы можете установить свойство tabBarItem и свойство selectedImage следующим образом:

  customTabBarItem.selectedImage = UIImage(named: "customSelectedImage")!.imageWithRenderingMode(.AlwaysOriginal) customTabBarItem.image = UIImage(named: "customUnselectedImage")!.imageWithRenderingMode(.AlwaysOriginal) 
  • Ярлыки AutoLayout обрезаются с правой стороны экрана
  • Как изменить ограничение нижнего макета в iOS, Swift
  • Storyboard segue вызывается до того, как UITableView's didSelectRow
  • Почему мои просмотры не отображаются в Раскадках и серые на левой панели?
  • Как разрабатывать потоки визуального макета UIViewController, такие как библиотека разработчиков iOS
  • Кнопка «Назад» на другую раскадровку
  • Распаковка iOS: виды вне ViewController и в верхней части сцены (между полями «Первый ответчик» и «Выход»)
  • Что такое «Ограничение маржи» в раскадровке в Xcode 6
  • Локализация пользовательского набора классов в раскадровке не работает
  • Как передать значение родительскому контроллеру?
  • IOS StoryBoard несколько Segue из TableCell
  • Давайте будем гением компьютера.