градиент настройки в фоне UITabBar

Самый простой способ добиться чего-то подобного:

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

Это путем подкласса UITabBarController? Если да, какое свойство нужно изменить?

4 Solutions collect form web for “градиент настройки в фоне UITabBar”

@interface UITabBarController (private) - (UITabBar *)tabBar; @end @implementation CustomizeUITabBarController - (void)viewDidLoad { [super viewDidLoad]; CGRect frame = CGRectMake(0.0, 0.0, self.view.bounds.size.width, 48); UIView *v = [[UIView alloc] initWithFrame:frame]; [v setBackgroundColor:kMainColor]; [v setAlpha:0.5]; [[self tabBar] addSubview:v]; [v release]; } @end 

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

Да, подклассификация UITabbarController – правильный способ сделать это.

Перезаписать метод drawRect:

 - (void)drawRect:(CGRect)rect { [[UIImage imageNamed:@"yourNavigationBar.png"] drawInRect: CGRectMake(0, 0, self.frame.size.width, self.frame.size.height) ]; } 

И добавьте изображение с градиентом в свой проект.

Это старый вопрос, но он появляется сначала при поиске градиентов TabBar. Намного проще это сделать с появлением. Просто поместите это в свой метод applicationDidFinishLaunching .

 [[UITabBar appearance] setBackgroundImage:[UIImage imageNamed:@"navBarImage_1x49"]]; 

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

 CAGradientLayer *gradient = [CAGradientLayer layer]; gradient.frame = CGRectMake(0, 0, 1, 49); gradient.colors = [NSArray arrayWithObjects:(id)[UIColor.darkGrayColor] CGColor], (id)[UIColor.blackColor] CGColor], nil]; UIGraphicsBeginImageContext(gradient.frame.size); CGContextRef context = UIGraphicsGetCurrentContext(); [gradient renderInContext:context]; UIImage *gradientImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); 

У меня была такая же проблема с моим приложением, и я придумал следующее: в методе applicationDidFinishLaunching я создал функцию для рисования градиента и использовал экземпляр моего UITabBarController для настройки правильного кадра градиента в зависимости от ширины устройства.

 - (UIImage *)drawGradientInView:(UITabBarController *) tabBarVC { CAGradientLayer *gradient = [CAGradientLayer layer]; gradient.frame = CGRectMake(CGRectGetMinX(tabBarVC.tabBar.frame), CGRectGetMinY(tabBarVC.tabBar.frame), CGRectGetWidth(tabBarVC.view.frame), CGRectGetHeight(tabBarVC.tabBar.frame)); //set up your gradient //...... UIImage *gradientImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return gradientImage; } 

получить экземпляр UITabBarController

 UITabBarController *tabVC = (UITabBarController *)[UIApplication sharedApplication].windows.firstObject.rootViewController; 

установить градиент

 [UITabBar appearance].backgroundImage = [self drawGradientInView:tabVC]; 

Я не уверен, что это правильный подход, но это сработало для меня.

  • Изменение изображения позиции вкладки и цвета текста iOS
  • Выберите элемент панели вкладок программно (не используя UITabBarController)
  • Как изменить цвет выделения UITabBar
  • Представьте ViewController перед вкладкой UITabBarController tabBar и скройте эту вкладкуBar
  • Изменение высоты UITabBar
  • ios7 - Пользовательский UItabbar имеет зазор в нижней части
  • Просмотр по умолчанию в UITabBarController
  • как проверить, находится ли контроллер уже в стеке диспетчера контроля навигации?
  • UITabBar скроет последнюю ячейку UITableView
  • Выбранный цвет UITabBar?
  • iOS 7 - Отключить цвет оттенков UITabBarItem
  • Interesting Posts

    Alamofire Ошибка запроса: NSURLErrorDomain Code -1005 Сетевое соединение было потеряно

    Ошибка: ожидается атрибут свойства перед «атомарным»

    Получение размера представления UIViewController после вращения

    Несовместимый указатель на целочисленное преобразование, отправляющее 'void *' в параметр типа 'NSJSONReadingOptions'

    Кнопка UITableViewCell contentView исчезает после изменения ориентации в iOS 6

    Каковы мои возможности для внедрения системы виртуальных кредитов для Mac-приложения?

    Потоковое аудио: HTTP Live Streaming необходимо для одобрения магазина приложений?

    iOS: сохранение приложения в фоновом режиме в ожидании соединения

    Создание приложения Compass iOS в Swift

    Предварительный просмотр AVAssetReader / AVAssetWriter текущего кадра

    Как настроить отладку в Visual Studio для React Native?

    Программно проверить, установлен ли блокировка пароля

    не удалось связать EAGLDrawable в цикле рендеринга CADisplayLink

    как показать iCarousel center view только выделенный другой ближайший вид показать некоторые темные

    Pull To Refresh в iOS 7

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.