2013-07-20 8 views
1

Я был в сети около часа, пытаясь найти разные способы установки пользовательских изображений, которые у меня есть на панели вкладок. Я использую класс изменения размера. это UIImage+ProportionalFill, если кто-то знаком с ним. Я немного новичок в Objective-C, и у меня мало знаний об использовании AppDelegate.h, вот мой код. не стесняйтесь рипнуть меня новым, потому что я уверен, что это, вероятно, будет ошибкой новобранец.Элементы табло пустые

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions 
{  

// [UIApplication sharedApplication].idleTimerDisabled = YES; 
[application setStatusBarStyle:UIStatusBarStyleBlackOpaque]; 
[[UITabBar appearance] setBackgroundColor:[UIColor colorWithRed:0/255.0 green:255/255.0 blue:255/255.0 alpha:1.0]]; 
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; 
UITabBar *tabBar = tabBarController.tabBar; 
UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0]; 
UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1]; 
UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2]; 
UITabBarItem *tabBarItem4 = [tabBar.items objectAtIndex:3]; 
UITabBarItem *tabBarItem5 = [tabBar.items objectAtIndex:4]; 

UIImage *oldProfile= [UIImage imageNamed:@"profile.png"]; 
UIImage *oldFeed = [UIImage imageNamed:@"feed.png"]; 
UIImage *oldSearch = [UIImage imageNamed:@"search.png"]; 
UIImage *oldNotifications = [UIImage imageNamed:@"notification.png"]; 
UIImage *oldMap = [UIImage imageNamed:@"compass.png"]; 
UIImage *newProfile; 
UIImage *newFeed; 
UIImage *newSearch; 
UIImage *newNotifications; 
UIImage *newMap; 
CGSize newSize = CGSizeMake(30, 30); 
newProfile = [oldProfile imageScaledToFitSize:newSize]; 
newFeed = [oldFeed imageScaledToFitSize:newSize]; 
newSearch = [oldSearch imageScaledToFitSize:newSize]; 
newNotifications = [oldNotifications imageScaledToFitSize:newSize]; 
newMap = [oldMap imageScaledToFitSize:newSize]; 

[tabBarItem1 setFinishedSelectedImage:newFeed withFinishedUnselectedImage:newFeed]; 
[tabBarItem2 setFinishedSelectedImage:newMap withFinishedUnselectedImage:newMap]; 
[tabBarItem3 setFinishedSelectedImage:newSearch withFinishedUnselectedImage:newSearch]; 
[tabBarItem4 setFinishedSelectedImage:newNotifications withFinishedUnselectedImage:newNotifications]; 
[tabBarItem5 setFinishedSelectedImage:newProfile withFinishedUnselectedImage:newProfile]; 

// Override point for customization after application launch. 
UIApplication* app = [UIApplication sharedApplication]; 
app.networkActivityIndicatorVisible = YES; 
return YES; 
} 

EDIT ошибка я получаю есть:

-[UINavigationController tabBar]: unrecognized selector sent to instance 

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-  [UINavigationController tabBar]: unrecognized selector sent to instance 
` 
+0

Так в чем проблема? Какой результат дает вам этот код? Ссылка на класс UITabBarController гласит, что «элементы панели табуляции настроены через соответствующий контроллер представления» - поэтому вы не должны делать этого в делете приложения, каждый контроллер должен предоставить свой собственный элемент панели вкладок. – rdelmar

+0

@rdelmar да простите, полностью забыл поставить ошибку. Его там сейчас –

+0

Вы не понимаете эту ошибку? Это говорит вам, что, по вашему мнению, контроллер панели вкладок (self.window.rootViewController) на самом деле является навигационным контроллером. – rdelmar

ответ

1

Refer Ниже ссылка:

https://github.com/boctor/idev-recipes

в приведенной выше ссылке есть нет примера в нем и есть «CustomTabBar». В этом примере реализована настраиваемая вкладка.

Смежные вопросы