我的应用程序在iOS 5.1和iOS 6.1中完美运行。但是,当我尝试在iOS 4.3上运行它时,它比这个代码更难以使用:
[self.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"home-active.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"home-normal"]];
我正在使用此代码在TabBar上设置图像。
这是我的日志信息。
2013-03-08 15:16:27.688 GrandNatural[3372:12c03] -[UITabBarItem setFinishedSelectedImage:withFinishedUnselectedImage:]: unrecognized selector sent to instance 0x628c090
2013-03-08 15:16:27.690 GrandNatural[3372:12c03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITabBarItem setFinishedSelectedImage:withFinishedUnselectedImage:]: unrecognized selector sent to instance 0x628c090'
*** Call stack at first throw:
(
0 CoreFoundation 0x019785a9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x016e7313 objc_exception_throw + 44
2 CoreFoundation 0x0197a0bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
3 CoreFoundation 0x018e9966 ___forwarding___ + 966
4 CoreFoundation 0x018e9522 _CF_forwarding_prep_0 + 50
5 GrandNatural 0x0000f8fe -[HomeViewController initWithNibName:bundle:] + 535
6 GrandNatural 0x00002985 -[GrandNaturalAppDelegate application:didFinishLaunchingWithOptions:] + 262
7 UIKit 0x00ce5c89 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1163
8 UIKit 0x00ce7d88 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 439
9 UIKit 0x00cf2617 -[UIApplication handleEvent:withNewEvent:] + 1533
10 UIKit 0x00ceaabf -[UIApplication sendEvent:] + 71
11 UIKit 0x00ceff2e _UIApplicationHandleEvent + 7576
12 GraphicsServices 0x021dd992 PurpleEventCallback + 1550
13 CoreFoundation 0x01959944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
14 CoreFoundation 0x018b9cf7 __CFRunLoopDoSource1 + 215
15 CoreFoundation 0x018b6f83 __CFRunLoopRun + 979
16 CoreFoundation 0x018b6840 CFRunLoopRunSpecific + 208
17 CoreFoundation 0x018b6761 CFRunLoopRunInMode + 97
18 UIKit 0x00ce77d2 -[UIApplication _run] + 623
19 UIKit 0x00cf3c93 UIApplicationMain + 1160
20 GrandNatural 0x00002856 main + 132
21 GrandNatural 0x00002795 start + 53
)
terminate called throwing an exception(lldb)
答案 0 :(得分:3)
您可以使用以下代码在标签栏上设置图片:
if ([[[UIDevice currentDevice] systemVersion] floatValue]<5.0)
{
self.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"your name" image:[UIImage imageNamed:@"home-normal"] tag:0];
}
else
{
self.tabBarItem = [[UITabBarItem alloc] init];
self.tabBarItem.title = @"your name";
[self.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"home-active"] withFinishedUnselectedImage:[UIImage imageNamed:@"home-normal"]];
}
答案 1 :(得分:2)
好的,转到UITabBarItem
{{1}},找到该方法,并告诉我在可用性
我会给你一个提示:4.3无效。