我正在尝试获得没有标题的后退按钮,但我无法使其工作。我在目标方面真的很新......
UIImage *backButtonImage = [[UIImage imageNamed:@"back.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 30, 50)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
使用该代码我有我的后退按钮,但也有上一页的标题。
我找到了一些使用UIViewController类的工作示例,但在我的例子中,代码位于appDelegate.m文件中。
知道如何让它发挥作用吗?
答案 0 :(得分:9)
我使用iOS 5外观代理的非常简单的黑客攻击如下(不用说,代理的好处是对所有导航栏进行全局更改):
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-400.f, 0)
forBarMetrics:UIBarMetricsDefault];
此方法适用于iOS 5 SDK,因此无需担心。
修改强>
为避免图像拉伸,请使用以下命令:
UIImage* image = [UIImage imageNamed:@"back"];
return [image resizableImageWithCapInsets:UIEdgeInsetsMake(0, image.size.width, 0, 0)];
答案 1 :(得分:4)
据我所知,您正确设置外观代理。这里的问题是为你的后退按钮设置一个新标题。
为此,请根据您的行为创建自定义按钮,并将其用作新的后退按钮。 在推送或弹出所述视图控制器之前设置此项,例如在init
中UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@""
style:UIBarButtonItemStyleBordered
target:nil
action:nil];
[self.navigationItem setBackBarButtonItem: newBackButton];
答案 2 :(得分:0)
UIImage *image1 = [UIImage imageNamed:@"image.png"];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:image1 forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
以上代码用于在后退按钮中设置背景图像。
答案 3 :(得分:0)
据我了解,您正在询问如何更改后退按钮的标题。
这是我一直这样做的方式
self.navigationItem.backBarButtonItem.title=@"My Title";
我猜你可以通过不给任何标题将其设置为空
self.navigationItem.backBarButtonItem.title=@"";
确保在推送新视图之前调用此函数。
答案 4 :(得分:0)
我没有尝试过,但我认为它应该可行....把它放到viewdidLoad中,我希望它能找到你想要的东西。
UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@""
style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = backBarButtonItem;
[backBarButtonItem release];
答案 5 :(得分:-4)
只需在您编写的代码后添加此行:
[[UIBarButtonItem appearance] setTitle:@""];
希望它有效。