Как масштабировать изображение TabBarItem - PullRequest
0 голосов
/ 26 января 2011

Я хочу добавить UITabBar в моем UIViewController, я не хочу использовать UITabBarController, потому что мне нужно вставить этот контроллер вида в контроллер навигации.

Все хорошо, за исключением того, что мои изображения для UITabBarItem не масштабируются, чтобы соответствовать размеру элемента, который будет отображаться правильно.

Как решить эту проблему?

Вот код:

UITabBar *myTabBar = [[UITabBar alloc] initWithFrame:CGRectMake(0.0, barHeight, screenBounds.size.width, 50.0)];
myTabBar.opaque = YES;

UITabBarItem *barItem1 = [[UITabBarItem alloc] initWithTitle:@"title1" image:[UIImage imageNamed:@"icon1.png"] tag:1];
UITabBarItem *barItem2 = [[UITabBarItem alloc] initWithTitle:@"title2" image:[UIImage imageNamed:@"icon2.png"] tag:2];
UITabBarItem *barItem3 = [[UITabBarItem alloc] initWithTitle:@"title3" image:[UIImage imageNamed:@"icon3.png"] tag:3];
UITabBarItem *barItem4 = [[UITabBarItem alloc] initWithTitle:@"title4" image:[UIImage imageNamed:@"icon4.png"] tag:4];

NSArray *tbItems = [NSArray arrayWithObjects:barItem1, barItem2, barItem3, barItem4, nil];
myTabBar.items = tbItems;

Ответы [ 2 ]

3 голосов
/ 26 января 2011

Вы должны сохранить ваши изображения TabBar как 42x42.Затем в имени файла ad указывается директива @ 2x.

т.е. icon1@2x.png

Мы делаем это так, чтобы иконка загружалась в 42x42 пикселей на iPhone 4 / iPod Touch 4G, но уменьшалась до 21x21для старых устройств.

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

0 голосов
/ 05 января 2012

Я чувствую, что вы должны использовать UIToolBar или UISegmentedControl, а не UITabBar.

UITabBar'ы обычно должны использоваться с UITabBarController для управления им и должны использоваться для переключения «режима» приложения, как его называет Apple. Это означает, что TabBarController должен быть rootViewController (исключение будет, если вы добавите представление входа в систему до того, как приложение запустится как приложение панели вкладок).

эта тема также может помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...