Я изменил UITabBar в своем приложении iOS для использования пользовательских значков. Если я сделаю их 45x45 px png, тогда удалите заголовок и измените смещение следующим образом:
self.tabBarItem = [[UITabBarItem alloc] init];
self.tabBarItem.selectedImage = [[UIImage imageNamed:@"live.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
self.tabBarItem.image = [[UIImage imageNamed:@"live.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIEdgeInsets insets = { .left = 0, .right = 0, .top = 5, .bottom = -5 };
self.tabBarItem.imageInsets = insets;
Затем я получу изображение правильного размера (только в книжной ориентации), но пиксельное. Поэтому я сейчас пытаюсь использовать изображение SVG, сохраненное в формате PDF. Я создал новый актив изображения Xcode, перетащил в него PDF-файл. Выбранный «Сохранить векторные данные» в Инспекторе Атрибутов Построителя интерфейса XCode. Но размер иконки теперь зависит от размера пикселя. Я пробовал 20x20px (слишком маленький) и 512x512px (слишком большой).
Я мог продолжать пробовать разные размеры, пока не сработает один. Но на самом деле нужно увидеть некоторые спецификации Apple относительно того, как это должно работать, а не пытаться реконструировать его. Использование SVG и PDF-файлов в Xcode недостаточно хорошо документировано (AFAICS). Самое близкое к этому это Пользовательские изображения символов и это Настройка и отображение изображений символов в вашем пользовательском интерфейсе . Вместе с Создание пользовательских символов символов для вашего приложения . Ни один из которых не дает достаточно информации.