在我的navigationcontroller中按下新的viewcontroller时,我改变了我的后退按钮。但它看起来并不好看而且它很紧张。另外,如何删除后退按钮中的“新闻”标题? 这是我的代码。看图像
,代码是
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[UIImage imageNamed:@"back_button.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
我希望实现类似http://i228.photobucket.com/albums/ee262/romano2717/photo4.png
的目标答案 0 :(得分:18)
使用以下代码将图像放置到位。
int imageSize = 20; //REPLACE WITH YOUR IMAGE WIDTH
UIImage *barBackBtnImg = [[UIImage imageNamed:@"NavBackButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, imageSize, 0, 0)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:barBackBtnImg
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
您可以使用resizableImageWithCapInsets指定不应拉伸的像素。如果将图像宽度放在那里,则不会拉伸图像。
您不必将它放在.m文件中。 (您可以使用appDelegate.m文件)只需确保在绘制NavigationBar之前调用它。
答案 1 :(得分:0)
除非我遗漏了某些内容,否则您必须在代码中创建UIBarButtonItem以删除或更改标题,因此它只适用于您放入代码的视图控制器:
UIBarButtonItem *myBackButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back_button.png"] style:UIBarButtonItemStyleBordered target:nil action:nil];
self.navigationItem.backBarButtonItem = myBackButton;
[myBackButton release];
您发布的代码以这种方式工作的原因是因为它只设置背景,文档确实声明:
为获得良好的效果,backgroundImage必须是可伸缩的图像。
答案 2 :(得分:0)
您可以创建自定义按钮并将其添加为条形按钮以移除拉伸。或者你可以获得后退按钮大小的图形。
删除您必须在viewWillDisappear方法中设置self.title = "";
的按钮标题,并在viewWillAppear方法中再次设置标题。
希望这能解决您的问题。
答案 3 :(得分:0)
使用youparentViewController.title = @“”; 我的标题确实存在同样的问题
答案 4 :(得分:-3)
下面的代码将从后退按钮删除标题。
UIBarButtonItem *theBackButton = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:self action:@selector(yourAction)];
[[UIBarButtonItem appearance] setBackBarButtonItem:theBackButton];
[theBackButton release];