Значки UITabBar смещены от центра на iPad

как мне убедиться, что мои пользовательские изображения панели вкладок расположены в центре UITabBarItems? вот мой код:

[self.tab.tabBar.items[0] setImage:[UIImage imageNamed:@"homeIcon"]];
[self.tab.tabBar.items[0] setAccessibilityLabel:@"Home"];
[self.tab.tabBar.items[1] setImage:[UIImage imageNamed:@"searchIcon"]];
[self.tab.tabBar.items[1] setAccessibilityLabel:@"Search"];

[self.tab.tabBar.items[2] setAccessibilityLabel:@"Add"];
[self.tab.tabBar.items[3] setImage:[UIImage imageNamed:@"explore-standard"]];
[self.tab.tabBar.items[3] setAccessibilityLabel:@"Messages"];
[self.tab.tabBar.items[4] setImage:[UIImage imageNamed:@"profile"]];
[self.tab.tabBar.items[4] setAccessibilityLabel:@"Profile"];

[self.tab.tabBar.items[0] setSelectedImage:[UIImage imageNamed:@"home-thick"]];
[self.tab.tabBar.items[1] setSelectedImage:[UIImage imageNamed:@"search-thick"]];
[self.tab.tabBar.items[3] setSelectedImage:[UIImage imageNamed:@"explore-thick"]];
[self.tab.tabBar.items[4] setSelectedImage:[UIImage imageNamed:@"user-thick"]];

[self.tab.tabBar.items[0] setTitle:nil];
[self.tab.tabBar.items[1] setTitle:nil];
[self.tab.tabBar.items[2] setTitle:nil];
[self.tab.tabBar.items[3] setTitle:nil];
[self.tab.tabBar.items[4] setTitle:nil];

панель вкладок


person Halpo    schedule 28.09.2018    source источник
comment
Вы пробовали с itemPositioning? Попробуйте этот код в viewDidLoad self.tab.tabBar.itemPositioning = UITabBarItemPositioningFill;   -  person Kerberos    schedule 28.09.2018
comment
да, я пробовал itemPositioningFill, UITabBarItemPositioningCentered и автоматический, это не влияет на результат.   -  person Halpo    schedule 28.09.2018
comment
Попробуйте добавить другой цвет фона для всех представлений, чтобы мы могли видеть, кто был перемещен.   -  person Kerberos    schedule 28.09.2018
comment
Кажется, я исправил это вместо [self.tab.tabBar.items[0] setTitle:nil]; вам нужно поставить [self.tab.tabBar.items[0] setTitle:@];   -  person Halpo    schedule 28.09.2018
comment
Ваше изображение, вероятно, имеет пустое пространство. Проверьте его в GIMP или что-то еще, чтобы убедиться, что он правильно обрезан.   -  person Guy Kogus    schedule 28.09.2018


Ответы (1)


Установка заголовка nil таким образом

[self.tab.tabBar.items[0] setTitle:nil];

приводит к смещению значка от центра.

Вам нужно установить пустую строку следующим образом:

[self.tab.tabBar.items[0] setTitle:@""];
person Halpo    schedule 28.09.2018
comment
Спасибо! Это также справедливо для Заголовка, установленного в Интерфейсном Разработчике. Я исправил это, поместив курсор в поле «Заголовок» и нажав Enter на клавиатуре. - person dandepeched; 04.05.2019