Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何改变黑褐色的颜色?_Iphone_Xcode_Backbarbuttonitem - Fatal编程技术网

Iphone 如何改变黑褐色的颜色?

Iphone 如何改变黑褐色的颜色?,iphone,xcode,backbarbuttonitem,Iphone,Xcode,Backbarbuttonitem,在我的应用程序中,我想更改Bacbarbuttonite的颜色。 有可能改变颜色吗?或者我必须把它的图像。 如果是图像,请告诉我如何放置图像的代码。Praveen-K答案是正确的,但请记住,您必须在每个viewcontroller中执行此操作 UIImage *image = [UIImage imageNamed:@"imageName.png"]; UIBarButtonItem* backBarButton = [[UIBarButtonItem alloc] initWithImage:

在我的应用程序中,我想更改Bacbarbuttonite的颜色。 有可能改变颜色吗?或者我必须把它的图像。
如果是图像,请告诉我如何放置图像的代码。

Praveen-K答案是正确的,但请记住,您必须在每个viewcontroller中执行此操作

UIImage *image = [UIImage imageNamed:@"imageName.png"];
UIBarButtonItem* backBarButton = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStylePlain target:self action:@selector(backButtonAction)];
self.navigationItem.leftBarButtonItem=backBarButton;
[backBarButton release];
从iOS5开始,苹果引入了“外观”概念

- (void)setBackButtonBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0) UI_APPEARANCE_SELECTOR;
在你的情况下是这样的

UIImage *image = [UIImage imageNamed:@"imageName.png"];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:image forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

但正如我所说的,Praveen-K答案是可以的,并且会起作用,但只是为了让您知道将来的情况。

另一种更改后栏按钮项颜色的方法是使用段控制

UISegmentedControl *button = [[[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Back", nil]] autorelease];
button.frame = CGRectMake(0, 0, 60, 30);
button.center = self.view.center;
button.momentary = YES;
button.segmentedControlStyle = UISegmentedControlStyleBar;
button.tintColor = [UIColor colorWithRed:0 green:0.1 blue:0.5 alpha:0];
[button addTarget:self action:@selector(handleBack:) forControlEvents:UIControlEventValueChanged];

UIBarButtonItem *backButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
请注意,我们将想要的颜色指定给UISegmentedControl的属性tintColor。 我从这个网站上得到了这个想法:
如果您只想更改颜色,可以使用这行代码

[[UIBarButtonItem appearance] setTintColor:[UIColor redColor]];
将redColor替换为以下内容以调整按钮的颜色:

colorWithRed:0/255.0 green:144/255.0 blue:200/255.0 alpha:1.0// pick your color using this

请确保将其放入推送的视图控制器中。不是要在其中查看后退按钮颜色的视图控制器。

“请确保将其放在按下按钮的视图控制器中。不是要在其中查看后退按钮颜色的视图控制器。”这非常重要,并澄清了许多问题。@kkendall:如果我只想为后退按钮设置色调,该怎么办(设置为默认系统生成的条形按钮)而不是所有条形按钮项目?