ios - UINavigationBar back button item font color won't set -
i have navigation bar on viewcontroller can enable/disable. the problem can't font uibarbuttonitem
s change colors after view loads, though arrow change.
i disable uinavigationbar
on myviewcontroller
following line of code:
self.navigationcontroller.navigationbar.userinteractionenabled = no;
i have uicontrolstate
s configured in appdelegate.m
uibarbuttonitem
s enabled , disabled, nothing happens font after view loads.
in appdelegate.m
, have following code set uinavigationbar
's font , color:
// uibarbuttonitem styling nsshadow *shadow = [[nsshadow alloc]init]; shadow.shadowoffset = cgsizemake(0.0, 1.0); shadow.shadowcolor = [uicolor whitecolor]; // enabled nsdictionary *enabledtextattributedictionary = @{nsforegroundcolorattributename : [uicolor customcellhyperlinkcolor], nsshadowattributename: shadow, nsfontattributename:[uifont fontwithname:@"gillsans" size:17.0]}; [[uibarbuttonitem appearancewhencontainedin:[uinavigationbar class], nil] settitletextattributes:enabledtextattributedictionary forstate:uicontrolstatenormal]; // disabled nsdictionary *disabledtextattributedictionary = @{nsforegroundcolorattributename : [uicolor lightgraycolor], nsshadowattributename: shadow, nsfontattributename:[uifont fontwithname:@"gillsans" size:17.0]}; [[uibarbuttonitem appearancewhencontainedin:[uinavigationbar class], nil] settitletextattributes:disabledtextattributedictionary forstate:uicontrolstatedisabled]; // uinavigationbartitle styling nsdictionary *titleattributedictionary = @{nsforegroundcolorattributename : [uicolor blackcolor], nsshadowattributename: shadow, nsfontattributename:[uifont fontwithname:@"gillsans" size:19.0]}; [[uinavigationbar appearancewhencontainedin:[uinavigationcontroller class], nil]settitletextattributes:titleattributedictionary];
i thought since configured 2 states (uicontrolstatenormal
/uicontrolstatedisabled
) in appdelegate.m
, nothing needs done other enable/disable navigationbar
. enable/disable indeed enable/disable, color on button label doesn't change (though set color set uicontrolstatenormal
in appdelegate
).
i tried manually set it, label on backbuttonitem stays blue while icon left of tints light gray. (obvious thing) missing preventing me changing color of button font?
i think looking add code in appdelegate.m
nsshadow *shadow = [[nsshadow alloc] init]; shadow.shadowoffset = cgsizemake(0.0, 1.0); shadow.shadowcolor = [uicolor clearcolor]; [[uibarbuttonitem appearancewhencontainedin:[uinavigationbar class], nil] settitletextattributes: @{nsforegroundcolorattributename:[uicolor redcolor], nsshadowattributename:shadow, nsfontattributename:[uifont systemfontofsize:13.0] } forstate:uicontrolstatenormal];
Comments
Post a Comment