我想改变iOS6的导航栏后退按钮颜色,我尽我所能但却无法获得成功。那么请任何人帮我找到完美的解决方案吗?
我想让这个按钮背景变黑。
我用过
[[UIBarButtonItem appearance]setTintColor:[UIColor blackColor]];
但它不起作用。我也曾经使用过这个:
[[[self navigationController] navigationBar] setBarTintColor:[UIColor blackColor]];
但得到了这个错误:
Terminating app due to uncaught exception
NSInvalidArgumentException', reason: '-[UINavigationBar setBarTintColor:]: unrecognized selector sent to instance 0x9d2ab30
答案 0 :(得分:1)
iOS 6
中的
[[UINavigationBar appearance] setTintColor:[UIColor blackColor]];
在ios7中
[[UINavigationBar appearance] setBarTintColor:[UIColor blackColor]];
另一种选择
//allocating the bar button
UIBarButtonItem *leftBarButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(popToBack)];
//assign the bar button to the navigation bar
self.navigationItem.leftBarButtonItem = leftBarButton;
//change the tint color of the bar button item
self.navigationItem.leftBarButtonItem.tintColor=[UIColor colorWithRed:125.0/255.0 green:90.0/255.0 blue:146.0/255.0 alpha:1]; //[UIColor blackColor]
-(void)popToBack
{
[self.navigationController popViewControllerAnimated:YES];
}
答案 1 :(得分:0)
试试这个
// UIBarItem外观
[[UIBarButtonItem appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor colorWithRed:140.0f/255 green:0.0 blue:0.0 alpha:1.0], UITextAttributeTextColor,
[UIColor whiteColor], UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, -1)], UITextAttributeTextShadowOffset,
[UIFont fontWithName:@"Helvetica neue" size:16.0], UITextAttributeFont,
nil]
forState:UIControlStateNormal];
//使用图片
[[UIBarButtonItem appearance] setBackgroundImage:doneBackgroundImage
forState:UIControlStateNormal
style:UIBarButtonItemStyleDone
barMetrics:UIBarMetricsDefault];
答案 2 :(得分:0)
试试这个
CGRect rectQuestion=CGRectMake(0 , 0, 50, 30);
UIButton *btnLeft=[[UIButton alloc]init];
[btnLeft setFrame:rectQuestion];
[btnLeft setAutoresizingMask:UIViewAutoresizingFlexibleLeftMargin];
[btnLeft setBackgroundColor:[UIColor blackColor]];
[btnLeft removeTarget:nil action:NULL forControlEvents:UIControlEventAllEvents];
[btnLeft addTarget:self action:@selector(PopThis) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *leftBar=[[UIBarButtonItem alloc]initWithCustomView:btnLeft];
self.navigationItem.leftBarButtonItem=leftBar;
[btnLeft release];
[leftBar release];