Sunday, 15 April 2012

ios - I can't use method declared in subclass -



ios - I can't use method declared in subclass -

i'm trying utilize this project end problem. main goal set gradient color uinavigationbar using storyboard.

1 -

#import "crgradientnavigationbar.h"

2 -

becomes

3 -

// array of colors uicolor *firstcolor = [uicolor colorwithred:255.0f/255.0f green:42.0f/255.0f blue:104.0f/255.0f alpha:1.0f]; uicolor *secondcolor = [uicolor colorwithred:255.0f/255.0f green:90.0f/255.0f blue:58.0f/255.0f alpha:1.0f]; nsarray *colorsarray = [nsarray arraywithobjects:firstcolor, secondcolor, nil]; // setting navigation bar color [self.navigationcontroller.navigationbar setbartintgradientcolors:colorsarray]; // nslog(@"%@", self.navigationcontroller.navigationbar);

the error is

no visible @interface 'uinavigationbar' declares selector 'setbartintgradientcolors:'

knowing setbartintgradientcolors declared in crgradientnavigationbar.h

and nslog output is

2014-06-23 21:07:04.388 project[1794:60b] <crgradientnavigationbar: 0xa5324d0; baseclass = uinavigationbar; frame = (0 20; 320 44); opaque = no; autoresize = w; gesturerecognizers = <nsarray: 0xa536060>; layer = <calayer: 0xa5327e0>>

how can solve ?

self.navigationcontroller.navigationbar returns uinavigationbar, not crgradientnavigationbar. cast it:

[(crgradientnavigationbar *)(self.navigationcontroller.navigationbar) setbartintgradientcolors:colorsarray];

ios objective-c

No comments:

Post a Comment