我想在整个应用程序中自定义iOS后退按钮。所以我在AppDelegate.m文件中添加这些行:
UIImage *backButton = [UIImage imageNamed:@"btn_return"];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[backButton resizableImageWithCapInsets:UIEdgeInsetsMake(0, backButton.size.width, 0, 0)] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
如你所见,右边有一个白色标记....有人知道为什么吗?我该如何删除它?
之前的视图控制器有一个空白区域作为后退按钮标题(在他的导航项目中)因为我不想要任何标签。 也许是因为那个?!还有其他解决方案没有看到默认"返回"标签?
非常感谢你的帮助
答案 0 :(得分:2)
以这种方式使用
UIImage *image1 = [[UIImage imageNamed:@"btn_return"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[self.menuBarBtn setImage:image1];
答案 1 :(得分:0)
您需要使用
[[UINavigationBar appearance] setBackIndicatorImage: backButton];
[[UINavigationBar appearance] setBackIndicatorTransitionMaskImage: backButton];
如果您的部署目标是IOS 7 +
否则请求您的设计师在右侧添加一个像素空列。
答案 2 :(得分:0)
使用此代码:
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)
forBarMetrics:UIBarMetricsDefault];
答案 3 :(得分:0)
UIButton *backButton;
backButton=[[UIButton alloc]initWithFrame:CGRectMake(0, 0,35 ,35)];
backButton.imageEdgeInsets = UIEdgeInsetsMake(7, 7, 7, 7);
[backButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[backButton addTarget:self action:@selector(btnBackAction:) forControlEvents:UIControlEventTouchUpInside];
[backButton setImage:[UIImage imageNamed:@"your back button image name"] forState:UIControlStateNormal];
UIBarButtonItem *Rightbarbutton=[[UIBarButtonItem alloc]initWithCustomView:backButton];
self.navigationItem.leftBarButtonItem=Rightbarbutton;
答案 4 :(得分:0)
使用此代码隐藏默认后退按钮
self.navigationItem.hidesBackButton = YES;