Iphone UIBarbuttonite外观和收进按钮背景图像

Iphone UIBarbuttonite外观和收进按钮背景图像,iphone,objective-c,ios,uinavigationcontroller,uibarbuttonitem,Iphone,Objective C,Ios,Uinavigationcontroller,Uibarbuttonitem,在navigationcontroller中按下新的viewcontroller时,我会更改后退按钮。但是它看起来不好看,而且它拉长了。另外,如何删除“后退”按钮中的“新闻”标题? 这是我的密码。看到图片了吗 代码是 [[UIBarButtonItem appearance] setBackButtonBackgroundImage:[UIImage imageNamed:@"back_button.png"] forState:UIControlStateNormal barMetrics:

在navigationcontroller中按下新的viewcontroller时,我会更改后退按钮。但是它看起来不好看,而且它拉长了。另外,如何删除“后退”按钮中的“新闻”标题? 这是我的密码。看到图片了吗

代码是

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[UIImage imageNamed:@"back_button.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

我想实现类似这样的功能,除非我遗漏了什么,否则您必须在代码中创建UIBarButtonItem以删除或更改标题,因此它将仅适用于您将代码放入的视图控制器:

UIBarButtonItem *myBackButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back_button.png"] style:UIBarButtonItemStyleBordered target:nil action:nil];
self.navigationItem.backBarButtonItem = myBackButton;
[myBackButton release];
您发布的代码以这种方式工作的原因是,它只设置了背景,文档中确实说明:

为了获得好的效果,背景图像必须是可拉伸图像


可以创建自定义按钮并将其添加为条形按钮以删除拉伸。或者,您可以获得后退按钮大小的图形

要删除按钮的标题,必须设置
self.title=“”在ViewWillEnglish方法中,并在ViewWillEnglish方法中再次设置标题


希望这能解决您的问题。

下面的代码将从“后退”按钮中删除标题

UIBarButtonItem *theBackButton = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:self action:@selector(yourAction)];
    [[UIBarButtonItem appearance] setBackBarButtonItem:theBackButton];    
    [theBackButton release];

使用以下代码将图像放置到位

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];
可以使用ResizeableImageWithCapInsets指定哪些像素不应拉伸。如果你把你的图像宽度在那里,它不会拉伸你的图像


顺便说一句,您不必将它放在.m文件中(您可以使用appDelegate.m文件),只要确保在绘制导航栏之前调用它即可

使用youparentViewController.title=@;
当我添加此代码时,标题确实存在同样的问题。在将新的viewcontroller按到导航后,后退按钮不见了。这与
-[\u UIBarItemAppearance SetbackBarButtonim:::]:6.0.1上发送到实例0x208448d0的未识别选择器有关。是否知道如何删除标题?[[self-navigationItem]片名:无;;或者你是指按钮的标题?我想知道在整个应用程序中删除后退按钮的按钮标题的技巧;)尝试[[uiBarButtonim外观]setBackButtonTitlePositionAdjustment:UIOffsetMake(-99,-99)forBarMetrics:UIBarMetricsDefault];你有没有想过?我现在也遇到了同样的问题。。。