我的UIBack按钮没有出现问题,我不确定是什么导致它。
这是我制作后退按钮图像的代码,它在我的第一个ViewController中:
UIImage *backButtonHomeImage = [[UIImage imageNamed:@"backButtonImage"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonHomeImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
当您第一次进入下一个视图(由按钮中的segue完成)时,该按钮不可见,但可以看到要返回的文本。一旦我点击后退按钮,图像就会出现,并在下次单击时保持显示。
我不确定这是否与我的代码或它所处的文件或者它的问题和iOS 7问题有关。
答案 0 :(得分:2)
使用UIBarButtonItem并明确设置后退按钮背景可能会更加幸运。
外观代理在我自己尝试使用iOS 7的后退按钮时一直不可靠。我遇到了同样的问题,背景没有正确显示第一次显示按钮。
答案 1 :(得分:0)
如果您只是需要更改颜色,请尝试使用此[[UINavigationBar appearance] setTintColor:[UIColor redColor]];
答案 2 :(得分:0)
如果你想改变后退按钮图像,你只需要编写这两行代码:
[self.navigationBar setBackIndicatorImage:[UIImage imageNamed:@"icon-back"]];
[self.navigationBar setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"icon-back"]];
如果你创建UINavigationController的子类,它可以很容易地自定义你的导航栏和推送&流行控制器
答案 3 :(得分:-1)
试试这个:
self.navigationItem.hidesBackButton = NO;
如果您尝试将其添加到导航栏,则:
UIImage* image4 = [UIImage imageNamed:@".....png"];
button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 26, 26)];
[button setBackgroundImage:....png forState:UIControlStateNormal];
[button addTarget:self action:@selector(Selector)
forControlEvents:UIControlEventTouchUpInside];
[button setShowsTouchWhenHighlighted:YES];
UIBarButtonItem *action = [[UIBarButtonItem alloc] initWithCustomView:button];
NSArray *arr =[[NSArray alloc]initWithObjects:action, nil];
self.navigationItem.rightBarButtonItems = arr;