/** * The system is invoked the first time this class is used (1 classes are only called once)*/+ (void) initialize{//set the navigation bar themeUinavigationbar *navbar =[Uinavigationbar appearance]; //set a background pictureNSString *bgname =Nil; if(iOS7) {//at least iOS 7.0Bgname =@"NavBar64"; } Else{//Non-iOS7Bgname =@"NavBar"; } [NavBar setbackgroundimage:[uiimage imagenamed:bgname] forbarmetrics:uibarmetricsdefault]; //Set Caption text colorNsmutabledictionary *attrs =[Nsmutabledictionary dictionary]; Attrs[nsforegroundcolorattributename]=[Uicolor Whitecolor]; Attrs[nsfontattributename]= [Uifont systemfontofsize: -]; [NavBar Settitletextattributes:attrs]; //set the theme of BarbuttonitemUibarbuttonitem *item=[Uibarbuttonitem appearance]; //Set Text colorNsmutabledictionary *itemattrs=[Nsmutabledictionary dictionary]; Itemattrs[nsfontattributename]=[uifont systemfontofsize: -]; Itemattrs[nsforegroundcolorattributename]=[Uicolor Whitecolor]; [item Settitletextattributes:itemattrs Forstate:uicontrolstatenormal]; if(!iOS7) { //Set Button Background[item setbackgroundimage:[uiimage imagenamed:@"Navbutton"] Forstate:uicontrolstatenormal Barmetrics:uibarmetricsdefault]; [Item setbackgroundimage:[uiimage imagenamed:@"navbuttonpressed"] forstate:uicontrolstatehighlighted Barmetrics:uibarmetricsdefault]; //sets the background of the return button[Item Setbackbuttonbackgroundimage:[uiimage imagenamed:@"Navbutton"] Forstate:uicontrolstatenormal Barmetrics:uibarmetricsdefault]; [Item setbackbuttonbackgroundimage:[uiimage imagenamed:@"navbuttonpressed"] forstate:uicontrolstatehighlighted Barmetrics:uibarmetricsdefault]; } Else{Navbar.tintcolor=[Uicolor Whitecolor]; } }
Setting the navigation bar theme in iOS development