0

When i used this code in iPhone 4.3 simulator , i got this error but when run it on iPhone 5 simulator ,it's worked without errors .

Code

    UITabBarController *tabB = [[UITabBarController alloc] init];
tabB.tabBar.tintColor=[UIColor colorWithRed:124.0/255.0 green:150.0/255.0 blue:32.0/255.0 alpha:1.0];

tabB.tabBar.selectedImageTintColor=[UIColor colorWithRed:187.0/255.0 green:255.0/255.0 blue:38.0/255.0 alpha:1.0];            
tabB.viewControllers = [NSArray arrayWithObjects:hc,bt, nil];
[self.navigationController pushViewController:tabB animated:YES];

Error

-[UITabBar setTintColor:]: unrecognized selector sent to instance 0x78787c0
2012-04-24 10:59:46.776 welcomeKidsWebsite[10357:12203] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITabBar setTintColor:]: unrecognized selector sent to instance 0x78787c0'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x01bcd5a9 __exceptionPreprocess + 185
    1   libobjc.A.dylib                     0x01d21313 objc_exception_throw + 44
    2   CoreFoundation                      0x01bcf0bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
    3   CoreFoundation                      0x01b3e966 ___forwarding___ + 966
    4   CoreFoundation                      0x01b3e522 _CF_forwarding_prep_0 + 50
    5   welcomeKidsWebsite                  0x0005ac8e -[KidsWelcomeViewController GotoBooks:] + 622
    6   UIKit                               0x00e1f4fd -[UIApplication sendAction:to:from:forEvent:] + 119
    7   UIKit                               0x00eaf799 -[UIControl sendAction:to:forEvent:] + 67
    8   UIKit                               0x00eb1c2b -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527
    9   UIKit                               0x00eb07d8 -[UIControl touchesEnded:withEvent:] + 458
    10  UIKit                               0x00e43ded -[UIWindow _sendTouchesForEvent:] + 567
    11  UIKit                               0x00e24c37 -[UIApplication sendEvent:] + 447
    12  UIKit                               0x00e29f2e _UIApplicationHandleEvent + 7576
    13  GraphicsServices                    0x02528992 PurpleEventCallback + 1550
    14  CoreFoundation                      0x01bae944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
    15  CoreFoundation                      0x01b0ecf7 __CFRunLoopDoSource1 + 215
    16  CoreFoundation                      0x01b0bf83 __CFRunLoopRun + 979
    17  CoreFoundation                      0x01b0b840 CFRunLoopRunSpecific + 208
    18  CoreFoundation                      0x01b0b761 CFRunLoopRunInMode + 97
    19  GraphicsServices                    0x025271c4 GSEventRunModal + 217
    20  GraphicsServices                    0x02527289 GSEventRun + 115
    21  UIKit                               0x00e2dc93 UIApplicationMain + 1160
    22  welcomeKidsWebsite                  0x000024ac main + 188
    23  welcomeKidsWebsite                  0x000023e5 start + 53
joerick
  • 16,078
  • 4
  • 53
  • 57
Shady Ghalab
  • 15
  • 1
  • 6

3 Answers3

2

A good way to make this version independent is:

 if ([tabBarController.tabBar respondsToSelector:@selector(setTintColor:)]) {
        [tabBarController.tabBar setTintColor:color];
 }

In IOS 5 this will set the tabbar tintcolor and in lower versions it wont crash

TompaLompa
  • 949
  • 6
  • 17
0

According to the documentation tintColor is only available in iOS 5.0 and later. The clue was that the 4.3 simulator is saying unrecognized selector sent to instance which basically means the method doesn't exist.

You'll need to do one of the following:

  • Set your minimum required iOS to 5.0.
  • Only apply the tint when running on iOS 5.0 or greater.
  • Use an alternative method supported by both versions.

Documentation Excerpt:

tintColor

The tint color to apply to the tab bar background. @property(nonatomic, retain) UIColor *tintColor Availability

Available in iOS 5.0 and later.
-2

try this

tabB.tintColor=[UIColor colorWithRed:124.0/255.0 green:150.0/255.0 blue:32.0/255.0 alpha:1.0];
Suresh Varma
  • 9,750
  • 1
  • 60
  • 91
RKY
  • 266
  • 1
  • 7