Положение значка iOS 7 UITabBar

Есть ли способ настроить положение значка UITabBar в iOS 7? Значок теперь блокирует значок панели вкладок немного больше, чем хотелось бы.

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

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


person Keller    schedule 03.10.2013    source источник


Ответы (4)


Если возможно, можете ли вы предоставить метод, с помощью которого вы устанавливаете изображение панели вкладок?

У меня была та же проблема, что и у вас, и я исправил ее с помощью UIImageRenderingModeAlwaysOriginal:

UIImage *image = // Your tab bar item image
UIImage *selected = // Your selected tab bar item image

image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
selected = [selected imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

controller.tabBarItem = [[UITabBarItem alloc] initWithTitle:title
                                                      image:image
                                              selectedImage:selected];

Ваше здоровье!

person Daniel Amitay    schedule 06.10.2013
comment
Это только исправило невыбранное изображение. Выбранное изображение для меня все еще выглядит так, как будто применяется затенение. Любая помощь? - person Halsafar; 24.10.2013
comment
@Halsafar, вам также нужно установить выбранное изображение на вкладке. Значок iOS 7 будет накладываться на ваше изображение, если вы не установите выбранное изображение и невыбранное изображение. добавить [tabBarItem setSelectedImage: selectedImage]; на ваш метод viewDidLoad контроллера tabBar должен решить вашу проблему. - person Lei; 07.01.2014

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

Итак, чтобы разместить значок, отрегулируйте границу пустых пикселей вокруг .png, который вы используете для изображения tabBarItem.

person Andrew Bennett    schedule 05.01.2014

Внешний вид значка изменить нельзя.

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

person Tricertops    schedule 06.10.2013

iOS 7 SDK обесценивает 3 ключевых метода, которые мы использовали для настройки панели вкладок

- (void)setFinishedSelectedImage:(UIImage *)selectedImage withFinishedUnselectedImage:(UIImage *)unselectedImage

- (UIImage *)finishedUnselectedImage

- (UIImage *)finishedSelectedImage

Они предлагают свои альтернативы в документах, как предлагает @Daniel Amitay.

Документация здесь

https://developer.apple.com/library/ios/documentation/uikit/reference/UITabBarItem_Class/DeprecationAppendix/AppendixADeprecatedAPI.html#//apple_ref/occ/instm/UITabBarItem/setFinishedSelectedImage:withFinishedUnselectedImage:

person MadNik    schedule 18.12.2013