У меня есть изображение, которое я хотел бы использовать в качестве фона для UIToolBar в приложении iOS 5+. Фоновое изображение изменяется в соответствии с действиями, предпринимаемыми на представлении. Изображение больше, чем UIToolBar, поэтому изображение должно быть изменено как уменьшение, а не увеличение размера.Настройка фонового изображения UIToolBar
После рассмотрения других вопросов здесь, а также других исследований проблемы, рекомендуемая резолюция не работает. Эта рекомендация заключается в следующем:
UIImage *topimg = [[UIImage imageNamed:@"headerBar-Human.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[_headerBar setBackgroundImage:topimg forToolbarPosition:UIToolbarPositionTop barMetrics:UIBarMetricsDefault];
Я попытался с различными значениями в вызове UIEdgeInsetsMake не повезло. Проблема в том, что изображение вообще не отображается. Отображается синий фон панели инструментов по умолчанию.
Если я удалю функцию resizableImageWithCapInsets, изображение покажет, но только часть изображения, покрываемое прямоугольными координатами панели инструментов.
Я также попытался создать UIImageView, добавив изображение и добавив его на панель инструментов, но результаты остались прежними.
Есть ли у кого-нибудь предложения?
Если вы хотите настроить UIToolBar или UINavigationBat, вам необходимо подклассифицировать его. – zbMax
Начиная с iOS 5 вам не нужно подклассифицировать его. Существует метод backgroundImageForToolbarPosition: barMetrics: открыт Apple в iOS 5, чтобы добавить изображение в качестве фона. Здесь у меня проблема. –