全局修改:把所有UIBarButtonItem(或者一个控件)设为同一风格。
局部修改:根据一定条件把一部分UIBarButtonItem(或者一个控件)设为同一风格
有时侯你想把导航条左侧的所有按钮的外观,字体设置为同一风格,但你并不想把导航条左侧按钮外观字体或背景全部用以下代码来更改,如果这样改,有两个UIBarButtonItem,你就要写两次,这样写代码过于赘余,苹果提供了更好的方法统一设置。
UIBarButtonItem *rightItem = [YBarButtonItem barButtonWithStyle:YBarButtonStyleRoundedRectangle Title:@"Save" Action:@selector(saveButtonClicked) Delegate:self]; self.navigationItem.leftBarButtonItem = rightItem;
[[UINavigationBar appearance] setTintColor:myColor]; /** 这样写之后,所有的 UINavigationBar 的tintColor的颜色都为myColor */
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], [UIPopoverController class], nil] setTintColor:myPopoverNavBarColor];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:leftButton forState:0 barMetrics:UIBarMetricsDefault];
NSDictionary* textAttributes = [NSDictionary dictionaryWithObjectsAndKeys: BAR_BUTTON_TITLE_TEXT_COLOR,UITextAttributeTextColor, BAR_BUTTON_TITLE_FONT,UITextAttributeFont, BAR_BUTTON_TITLE_SHADOW_COLOR,UITextAttributeTextShadowColor, [NSValue valueWithCGSize:CGSizeMake(1, 1)],UITextAttributeTextShadowOffset, nil]; [[UIBarButtonItem appearance] setTitleTextAttributes:textAttributes forState:0];
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(2, -1) forBarMetrics:UIBarMetricsDefault];
UIBarButtonItem关于全局修改,局部修改,布布扣,bubuko.com
原文:http://www.cnblogs.com/Fc-ios/p/3794163.html